Как переименовать таблицу в 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 | ||
| 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 мы добавили столбец с именем «Номер кредитной карты» в таблицу участников.
Предположим, что функция онлайн-биллинга займет некоторое время, и мы хотим УДАЛИТЬ столбец кредитной карты.
Мы можем использовать следующее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 дней
- 15 лучших SQL-инструментов, программного обеспечения и IDE для баз данных (2024 г.)
- MariaDB против MySQL – разница между ними