Перейти к содержимому

Как переименовать таблицу в mysql

  • автор:

Как переименовать таблицу в MySQL?

Как переименовать таблицу в mysql?

Для переименования таблицы нужно использовать phpmyadmin?

короткая ссылка на этот вопрос: close
спросил 8 лет назад

2 ответа

Чтобы переименовать таблицу mysql, нужно выполнить mysql запрос с командой RENAME:

Не важно, используете ли вы phpmyadmin или нет. Phpmyadmin внутри себя вызовет тот же самый sql-запрос.

Пример переименования таблицы в mysql:

RENAME TABLE начальное_имя новое_имя

Если имя таблицы совпадает со служебными выражениями mysql, то имя нужно обернуть в апострофы:

RENAME TABLE `имя_таблицы` `новое_имя`

root@localhost > rename table control to checking; Query OK, 0 rows affected (0.06 sec)

Как переименовать таблицу в phpMyAdmin и MySQL

Откройте базу данных, а затем перейдите в таблицу, которую вы хотите переименовать.

Когда таблица будет открыта, выберите пункт меню «Операции».

Найдите раздел «Переместить таблицу в (таблицу базы данных)». Да, для переименования используется та же функция, что и для перемещения таблицу в другую базу данных.

Введите новое имя таблицы и нажмите кнопку «Вперёд».

Теперь таблица получила новое имя.

Как переименовать таблицу в MySQL

Для подключения к MySQL или MariaDB СУБД на localhost без пароля используйте команду:

mysql -u root

Для подключения к MySQL или MariaDB СУБД на localhost с паролем используйте команду:

mysql -u root -p

Обратите внимание, что после опции -p не нужно указывать пароль — пароль нужно будет ввести в приглашение командной строки.

Если вы подключаетесь к удалённому серверу, то вы также можете использовать опцию -h (или —host=name) с указанием имени или IP адреса хоста.

После подключения к MySQL / MariaDB вы можете использовать следующую команду:

RENAME TABLE `БАЗА ДАННЫХ`.`ТАБЛИЦА` TO `БАЗА ДАННЫХ`.`НОВОЕ ИМЯ`;

Вы также можете выбрать базу данных для использования и не указывать имя базы данных рядом с именем таблицы:

USE `БАЗА ДАННЫХ`; RENAME TABLE `ТАБЛИЦА` TO `НОВОЕ ИМЯ`;

Пример переименования таблицы в MySQL:

RENAME TABLE `test`.`OLD NAME` TO `test`.`NEW NAME`;

Пример переименования таблицы в MySQL с предварительным выбором базы данных:

USE `test`; RENAME TABLE `OLD NAME` TO `NEW NAME`;

Чтобы вывести список таблиц, используйте следующий SQL запрос:

ALTER TABLE — изменение таблицы в SQL

Рассказываем о команде ALTER TABLE и учим вносить с ее помощью изменения в таблицы и столбцы.

Эта инструкция — часть курса «MySQL для новичков».

Смотреть весь курс

Введение

ALTER TABLE — один из самых незаменимых инструментов в работе с базами данных SQL. В этой статье мы рассмотрим SQL оператор ALTER TABLE и его применение. Узнаем, как добавить или удалить поля с помощью этого инструмента, и рассмотрим различные примеры его использования. В данной статье мы не будем рассматривать MS SQL и остановимся на синтаксисе наиболее популярной версии — MySQL.

Синтаксис оператора ALTER TABLE в SQL

Синтаксис оператора ALTER TABLE выглядит следующим образом:

ALTER TABLE название_таблицы [WITH CHECK | WITH NOCHECK]

Из этой записи мы видим, что сценариев применения данной команды достаточно много. Давайте рассмотрим их. В качестве примера мы будем использовать базу данных slcbookshelf, которую мы создавали в статье о первичных и внешних SQL ключах.

use slcbookshelf; 

Добавление столбца в таблицу (ADD COLUMN)

Сейчас наша таблица выглядит следующим образом:

mysql> DESC books; +---------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------------+--------------+------+-----+---------+-------+ | book_id | int | NO | | NULL | | | book_name | varchar(255) | NO | | NULL | | | book_category | varchar(255) | YES | | NULL | | +---------------+--------------+------+-----+---------+-------+ 3 rows in set (0.00 sec) 

Давайте добавим в нашу таблицу новый столбец, в котором будет отображаться автор каждой книги:

ALTER TABLE books ADD author NVARCHAR(50) NOT NULL; 

Данным запросом мы создали в нашей таблице новый столбец authors с типом NVARCHAR и длиной в 50 символов, который не может принимать пустое значение. Если мы не знаем автора произведения, тогда наша команда будет иметь такой вид:

ALTER TABLE books ADD author NVARCHAR(50) NOT NULL DEFAULT 'Неизвестен'; 

Теперь для существующих данных, для которых не заполнен столбец author, значение по умолчанию будет «Неизвестен».

Переименование столбца и таблицы

Переименование столбца (RENAME)

С помощью ALTER TABLE можно переименовать существующий столбец. Для этого выполните команду:

ALTER TABLE books RENAME COLUMN author TO authors; 

Переименование таблицы (RENAME)

При помощи ALTER TABLE можно переименовать таблицу. Выполняем запрос:

ALTER TABLE books RENAME TO books_selectel; 

Удаление столбца (DROP)

Чтобы удалить столбец из таблицы с помощью ALTER TABLE, требуется выполнить следующий запрос:

ALTER TABLE books DROP COLUMN authors; 

Изменение столбца (ALTER COLUMN)

Иногда бывают случаи, когда необходимо изменить уже созданный ранее столбец. Это действие можно выполнить с помощью команды ALTER TABLE. Для изменения существующего столбца необходимо выполнить такой запрос:

ALTER TABLE books ALTER COLUMN book_category VARCHAR(200); 

В данном примере мы изменили максимальное количество символов, которое может использоваться в полях столбца book_category с 255 до 200.

Также с помощью ALTER TABLE можно сделать действие сразу с несколькими столбцами. Чтобы изменить сразу несколько столбцов, вам потребуется использовать эту команду:

ALTER TABLE books MODIFY book_category VARCHAR(200), MODIFY book_name VARCHAR(200), . ; 

Таким запросом мы изменили сразу два столбца: book_category и book_name.

Изменение типа столбца

При помощи ALTER TABLE можно изменить тип столбца в таблице SQL. Изменение типа существующего столбца осуществляется при помощи команды:

ALTER TABLE books ALTER COLUMN book_category NVARCHAR(200); 

Выполнив эту команду, мы изменили тип book_category на NVARCHAR(200).

Добавление первичного и внешнего ключей при помощи ALTER TABLE

Вы можете определить существующий столбец в таблице в качестве первичного ключа с помощью команды ALTER TABLE. Запрос, добавляющий в таблицу первичный ключ, будет выглядеть следующим образом:

ALTER TABLE books ADD PRIMARY KEY (book_id); 

Аналогично при помощи ALTER TABLE можно добавить внешний ключ таблицы. Чтобы создать внешний ключ для таблицы MySQL выполните команду:

ALTER TABLE books ADD FOREIGN KEY (author_id) REFERENCES authors(author_id); 

В результате выполнения этой команды поле author_id в таблице books будет внешним ключом для аналогичного поля в таблице authors.

Работа с ограничениями

Ограничения — специальные правила, которые применяются к таблице, чтобы ограничить типы данных в таблице. Ограничения очень важны, так как их правильное применение помогает обеспечить целостность данных в таблицах и наладить стабильную работу базы. Давайте рассмотрим одно из таких ограничений — ограничение CHECK. Применяя ограничения CHECK к столбцу таблицы, мы создаем правило, по которому при добавлении данных СУБД будет автоматически проверять их на соответствии заданным правилам.

Создание ограничения

Например, если нам необходимо, чтобы все клиенты в базе данных Customers имели возраст больше 21 года, мы можем установить следующее ограничение:

ALTER TABLE Customers ADD CHECK (Age > 21); 

При применении такого ограничения стоит учитывать, что если в столбце уже существуют данные, не соответствующие ограничению, то команда будет выполнена с ошибкой. Чтобы избежать подобного поведения, вы можете добавить ограничение со значением WITH NOCHECK. Таким образом, текущие значения столбца не вызовут ошибок при выполнении запроса при несоответствии ограничению:

ALTER TABLE Customers WITH NOCHECK ADD CHECK (Age > 21); 

Добавление ограничений с именами

Так как ограничений в таблицах может быть много, добавление имен к ограничениям может в значительной мере упростить будущую работу с таблицей. Создать имя для ограничения можно при помощи оператора CONSTRAINT:

ALTER TABLE Customers ADD CONSTRAINT Check_Age_Greater_Than_Twenty_One CHECK (Age > 21); 

Удаление ограничений

ALTER TABLE можно пользоваться и для удаления ограничений. Для удаления существующих ограничений необходимо выполнить следующую команду:

ALTER TABLE Customers DROP Check_Age_Greater_Than_Twenty_One; 

После выполнения этой команды ограничение перестанет применяться при добавлении новых данных в столбец.

Заключение

В данной статье мы с вами узнали что такое ALTER TABLE, рассмотрели работу с этой командой и научились вносить с ее помощью изменения в таблицы и столбцы, а также рассмотрели несколько примеров использования данной команды, которые сильно упростят будущую работу с базами данных.

Сброс пароля root в MySQL

MYSQL – ИЗМЕНИТЬ, УДАЛИТЬ, ПЕРЕИМЕНОВАТЬ, ИЗМЕНИТЬ

Со временем меняются и требования бизнеса. Поскольку бизнес-требования меняются, дизайн базы данных также нуждается в изменении.

MySQL предоставляет ALTER функция, которая помогает нам включить изменения в уже существующую структуру базы данных.

Команда alter используется для изменения существующей базы данных, таблицы, представления или других объектов базы данных, которые, возможно, потребуется изменить в течение жизненного цикла базы данных.

Предположим, что мы завершили проектирование базы данных и она реализована. Пользователи наших баз данных используют ее, а затем понимают, что часть важной информации была упущена на этапе проектирования. Они не хотят терять существующие данные, а просто хотят включить новую информацию. Команда alter пригодится в таких ситуациях. Мы можем использовать команду alter, чтобы изменить тип данных поля, скажем, со строки на числовой, изменить имя поля на новое имя или даже добавить новый столбец в таблицу.

Изменить – синтаксис

Основной синтаксис, используемый для добавления столбца в уже существующую таблицу, показан ниже.

ALTER TABLE `table_name` ADD COLUMN `column_name` `data_type`;

ВОТ

  • «ИЗМЕНИТЬ ТАБЛИЦУ `имя_таблицы`» это команда, которая сообщает серверу MySQL изменить таблицу с именем «имя_таблицы».
  • «ДОБАВИТЬ СТОЛБЕЦ `имя_столбца` `тип_данных`» это команда, которая сообщает серверу MySQL добавить новый столбец с именем «column_name» с типом данных «data_type».

Предположим, Myflix внедрил онлайн-биллинг и платежи. С этой целью нас попросили добавить поле для номера кредитной карты в нашу таблицу участников. Для этого мы можем использовать команду ALTER. Прежде чем вносить какие-либо поправки, давайте сначала посмотрим на структуру таблицы участников. Сценарий, показанный ниже, поможет нам сделать это.

SHOW COLUMNS FROM `members`;
 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(350) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

Мы можем использовать скрипт, показанный ниже, чтобы добавить новое поле в таблицу участников.

ALTER TABLE `members` ADD COLUMN `credit_card_number` VARCHAR(25);

Выполнение приведенного выше сценария в MySQL для Myflixdb добавляет новый столбец с именем «номер кредитной карты» в таблицу участников с VARCHAR в качестве типа данных. Выполнение сценария show columns дает нам следующее:wing результаты.

SHOW COLUMNS FROM `members`;
 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(350) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL
credit_card_number varchar(25) YES

Как видно из полученных результатов, номер кредитной карты был добавлен в таблицу участников. Добавление нового столбца не влияет на данные, содержащиеся в данных участников.

ЧТО ТАКОЕ КОМАНДА ПАДЕНИЯ?

Команда DROP используется для

  1. Удалить базу данных с сервера MySQL
  2. Удалите объект (например, Таблица, Столбец) из базы данных.

Давайте теперь рассмотрим практические примеры использования команды DROP.

В нашем предыдущем примере с командой Alter мы добавили столбец с именем «Номер кредитной карты» в таблицу участников.

Предположим, что функция онлайн-биллинга займет некоторое время, и мы хотим УДАЛИТЬ столбец кредитной карты.

Мы можем использовать следующееwing скрипт

ALTER TABLE `members` DROP COLUMN `credit_card_number`;

Выполнение приведенного выше сценария удаляет столбец Credit_card_number из таблицы участников.

Давайте теперь посмотрим на столбцы в таблице участников, чтобы убедиться, что наш столбец был удален.

SHOW COLUMNS FROM `members`;

Выполнение приведенного выше сценария в рабочей среде MySQL для myflixdb дает нам следующее:wing результаты.

 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(350) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

Обратите внимание, что номер кредитной карты был удален из списка полей.

ТАБЛИЦА ПАРАМЕТРОВ

Синтаксис удаления таблицы из базы данных следующий:

DROP TABLE `sample_table`;

Давайте посмотрим на пример

DROP TABLE `categories_archive`;

Выполнение приведенного выше сценария удаляет таблицу с именем «category_archive» из нашей базы данных.

ЧТО ТАКОЕ КОМАНДА ПЕРЕИМЕНОВАНИЯ?

Команда переименования используется для измените имя существующего объекта базы данных (например, Таблица, Столбец) на новое имя.

Переименование таблицы не приводит к потере содержащихся в ней данных.

Команда переименования имеет следующий видwing базовый синтаксис.

RENAME TABLE `current_table_name` TO `new_table_name`;

Предположим, мы хотим переименовать таблицу Movierentals в Movie_rentals. Для этого мы можем использовать сценарий, показанный ниже.

RENAME TABLE `movierentals` TO `movie_rentals`;

Выполнение приведенного выше сценария переименовывает таблицу «movierentals» в «movie_rentals».

Теперь мы переименуем таблицу Movie_rentals обратно в ее исходное имя.

RENAME TABLE `movie_rentals` TO `movierentals`;

ИЗМЕНИТЬ КЛЮЧЕВОЕ СЛОВО

Изменить ключевые слова позволяет вам

  1. Изменить имя столбца
  2. Изменить тип данных столбца
  3. Изменение ограничений столбца

Давайте посмотрим на пример. Поле полных имен в таблице участников имеет тип данных varchar и ширину 150.

SHOW COLUMNS FROM `members`;

Выполнение приведенного выше сценария в рабочей среде MySQL для myflixdb дает нам следующее:wing результаты.

 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(150) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

Предположим, мы хотим

  1. Измените имя поля с «full_names» на «fullname».
  2. Измените его на тип данных char шириной 250.
  3. Добавьте ограничение NOT NULL

Мы можем сделать это с помощью команды изменения следующим образом:

ALTER TABLE `members` CHANGE COLUMN `full_names` `fullname` char(250) NOT NULL;

Выполнение приведенного выше сценария в рабочей среде MySQL для myflixdb, а затем выполнение приведенного выше сценария показа столбцов дает следующее:wing результаты.

 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
fullnames char(250) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

ИЗМЕНИТЬ КЛЮЧЕВОЕ СЛОВО

Ключевое слово MODIFY позволяет вам

  1. Изменить тип данных столбца
  2. Изменить ограничения столбца

В приведенном выше примере CHANGE нам пришлось изменить имя поля, а также другие параметры.tails. Если пропустить имя поля в инструкции CHANGE, возникнет ошибка. Предположим, нас интересует только изменение типа данных и ограничений поля, не затрагивая имя поля. Для этого мы можем использовать ключевое слово MODIFY.

Скрипт ниже меняет ширину поля «полное имя» с 250 на 50.

ALTER TABLE `members`MODIFY `fullname` char(50) NOT NULL;

Выполнение приведенного выше сценария в рабочей среде MySQL для myflixdb, а затем выполнение приведенного выше сценария показа столбцов дает следующее:wing результаты показаны ниже.

 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
fullnames char(50) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

ПОСЛЕ КЛЮЧЕВОГО СЛОВА

Предположим, мы хотим добавить новый столбец в определенную позицию таблицы.

Мы можем использовать команду alter вместе с ключевым словом AFTER.

Сценарий ниже добавляет «date_of_registration» сразу после даты рождения в таблице участников.

ALTER TABLE `members` ADD `date_of_registration` date NULL AFTER `date_of_birth`;

Выполнение приведенного выше сценария в рабочей среде MySQL для myflixdb, а затем выполнение приведенного выше сценария показа столбцов дает следующее:wing результаты показаны ниже.

 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
fullnames char(50) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
date_of_registration date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL
Note: The Hilighted row is added after date_of_birth cloumn

Итоги

  • Команда alter используется, когда мы хотим изменить базу данных или любой объект, содержащийся в базе данных.
  • Команда drop используется для удаления баз данных из Сервер MySQL или объекты в базе данных.
  • Команда переименования используется для изменения имени таблицы на новое имя таблицы.
  • Ключевое слово Change позволяет изменить имя столбца, тип данных и ограничения.
  • Ключевое слово «Изменить» позволяет изменить тип данных столбца и ограничения.
  • Ключевое слово After используется для указания положения столбца в таблице.
  • Учебное пособие по проектированию базы данных в СУБД: изучение моделирования данных
  • Учебное пособие по MySQL Workbench: что такое, как установить и использовать
  • Что такое база данных? Определение, значение, типы с примером
  • Оператор MySQL SELECT с примерами
  • Учебник по SQL для начинающих: изучите SQL за 7 дней
  • Учебное пособие по MySQL для начинающих: изучите основы MySQL за 7 дней
  • 15 лучших SQL-инструментов, программного обеспечения и IDE для баз данных (2024 г.)
  • MariaDB против MySQL – разница между ними

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *