Как переименовать таблицу в 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)
Как переименовать таблицу в mysql
Если таблица уже была ранее создана, и ее необходимо изменить, то для этого применяется команда ALTER TABLE . Ее сокращенный формальный синтаксис:
ALTER TABLE название_таблицы
Вообще данная команда поддерживает гораздо больше опций и возможностей. Все их можно посмотреть в документации. Рассмотрим лишь основные сценарии, с которыми мы можем столкнуться.
Добавление нового столбца
Добавим в таблицу Customers новый столбец Address:
ALTER TABLE Customers ADD Address VARCHAR(50) NULL;
В данном случае столбец Address имеет тип VARCHAR и для него определен атрибут NULL.
Удаление столбца
Удалим столбец Address из таблицы Customers:
ALTER TABLE Customers DROP COLUMN Address;
Изменение значения по умолчанию
Установим в таблице Customers для столбца Age значение по умолчанию 22:
ALTER TABLE Customers ALTER COLUMN Age SET DEFAULT 22;
Изменение типа столбца
Изменим в таблице Customers тип данных у столбца FirstName на CHAR(100) и установим для него атрибут NULL :
ALTER TABLE Customers MODIFY COLUMN FirstName CHAR(100) NULL;
Добавление и удаление внешнего ключа
Пусть изначально в базе данных будут добавлены две таблицы, никак не связанные:
CREATE TABLE Customers ( Id INT PRIMARY KEY AUTO_INCREMENT, Age INT, FirstName VARCHAR(20) NOT NULL, LastName VARCHAR(20) NOT NULL ); CREATE TABLE Orders ( Id INT PRIMARY KEY AUTO_INCREMENT, CustomerId INT, CreatedAt Date );
Добавим ограничение внешнего ключа к столбцу CustomerId таблицы Orders:
ALTER TABLE Orders ADD FOREIGN KEY(CustomerId) REFERENCES Customers(Id);
При добавлении ограничений мы можем указать для них имя, используя оператор CONSTRAINT , после которого указывается имя ограничения:
ALTER TABLE Orders ADD CONSTRAINT orders_customers_fk FOREIGN KEY(CustomerId) REFERENCES Customers(Id);
В данном случае ограничение внешнего ключа называется orders_customers_fk. Затем по этому имени мы можем удалить ограничение:
ALTER TABLE Orders DROP FOREIGN KEY orders_customers_fk;
Добавление и удаление первичного ключа
Добавим в таблицу Products первичный ключ:
CREATE TABLE Products ( Id INT, Model VARCHAR(20) ); ALTER TABLE Products ADD PRIMARY KEY (Id);
Теперь удалим первичный ключ:
ALTER TABLE Products DROP PRIMARY KEY;
MYSQL – ИЗМЕНИТЬ, УДАЛИТЬ, ПЕРЕИМЕНОВАТЬ, ИЗМЕНИТЬ
Со временем меняются и требования бизнеса. Поскольку бизнес-требования меняются, дизайн базы данных также нуждается в изменении.
MySQL обеспечивает ALTER функция, которая помогает нам включить изменения в уже существующую структуру базы данных.
Команда alter используется для изменения существующей базы данных, таблицы, представления или других объектов базы данных, которые, возможно, потребуется изменить в течение жизненного цикла базы данных.
Предположим, что мы завершили проектирование базы данных и она реализована. Пользователи наших баз данных используют ее, а затем понимают, что часть важной информации была упущена на этапе проектирования. Они не хотят терять существующие данные, а просто хотят включить новую информацию. Команда alter пригодится в таких ситуациях. Мы можем использовать команду alter, чтобы изменить тип данных поля, скажем, со строки на числовой, изменить имя поля на новое имя или даже добавить новый столбец в таблицу.
Изменить – синтаксис
Основной синтаксис, используемый для добавления столбца в уже существующую таблицу, показан ниже.
ALTER TABLE `table_name` ADD COLUMN `column_name` `data_type`;
ВОТ
- «ИЗМЕНИТЬ ТАБЛИЦУ `имя_таблицы`» это команда, которая сообщает MySQL сервер для изменения таблицы с именем «table_name».
- «ДОБАВИТЬ СТОЛБЕЦ `имя_столбца` `тип_данных`» это команда, которая сообщает MySQL сервер, чтобы добавить новый столбец с именем «column_name» и типом данных «data_type».
Предположим, Myflix представил онлайн billинг и платежи. С этой целью нас попросили добавить поле для номера кредитной карты в нашу таблицу участников. Для этого мы можем использовать команду 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 | ||
| 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 | ||
| varchar(255) | YES | NULL | |||
| credit_card_number | varchar(25) | YES |
Как видно из полученных результатов, номер кредитной карты был добавлен в таблицу участников. Добавление нового столбца не влияет на данные, содержащиеся в данных участников.
ЧТО ТАКОЕ КОМАНДА ПАДЕНИЯ?
Команда DROP используется для
- Удалить базу данных из MySQL сервер
- Удалите объект (например, Таблица, Столбец) из базы данных.
Давайте теперь рассмотрим практические примеры использования команды DROP.
В нашем предыдущем примере с командой Alter мы добавили столбец с именем «Номер кредитной карты» в таблицу участников.
Предположим, онлайн billВключение функциональности займет некоторое время, и мы хотим УДАЛИТЬ столбец кредитной карты.
Мы можем использовать следующее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 | ||
| 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`;
ИЗМЕНИТЬ КЛЮЧЕВОЕ СЛОВО
Изменить ключевые слова позволяет вам
- Изменить имя столбца
- Изменить тип данных столбца
- Изменение ограничений столбца
Давайте посмотрим на пример. Поле полных имен в таблице участников имеет тип данных 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 | ||
| varchar(255) | YES | NULL |
Предположим, мы хотим
- Измените имя поля с «full_names» на «fullname».
- Измените его на тип данных char шириной 250.
- Добавьте ограничение 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 | ||
| varchar(255) | YES | NULL |
ИЗМЕНИТЬ КЛЮЧЕВОЕ СЛОВО
Ключевое слово MODIFY позволяет вам
- Изменить тип данных столбца
- Изменить ограничения столбца
В приведенном выше примере 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 | ||
| 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 | ||
| varchar(255) | YES | NULL |
Обзор
- Команда alter используется, когда мы хотим изменить базу данных или любой объект, содержащийся в базе данных.
- Команда drop используется для удаления баз данных из MySQL сервер или объекты в базе данных.
- Команда переименования используется для изменения имени таблицы на новое имя таблицы.
- Ключевое слово Change позволяет изменить имя столбца, тип данных и ограничения.
- Ключевое слово «Изменить» позволяет изменить тип данных столбца и ограничения.
- Ключевое слово After используется для указания положения столбца в таблице.
- Учебное пособие по проектированию базы данных в СУБД: изучение моделирования данных
- MySQL Учебное пособие по Workbench: что такое, как установить и использовать
- Что такое база данных? Определение, значение, типы с примером
- MySQL Оператор SELECT с примерами
- Учебник по SQL для начинающих: изучите SQL за 7 дней
- MySQL Учебник для начинающих: учиться MySQL Основы за 7 дней
- 17 лучших инструментов и программного обеспечения SQL (2024 г.)
- MariaDB vs MySQL — Разница между ними
Как переименовать таблицу в mysql

MS SQL Server
В СУБД MS SQL для переименования объектов текущей базы данных (таблицы, индекса, столбца) используется оператор sp_rename. Для изменения имени таблицы используется следующий синтаксис оператора sp_rename:
sp_rename ‘old_table_name’, ‘new_table_name’
MySQL Server
СУБД MySQL для переименования таблиц используется оператор ALTER TABLE. Синтаксис оператора в данном случае имеет вид:
Переименовать таблицу tbl_product в tbl_prod
MS SQL:
sp_rename ‘tbl_product’, ‘tbl_prod’;
MySQL:
ALTER TABLE tbl_product RENAME bl_prod;