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

Что такое команда ALTER?

Как говорится Изменения - единственная постоянная

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

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

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

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

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

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

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

ВОТ

  • «ИЗМЕНИТЬ ТАБЛИЦУ `имя_таблицы`» это команда, которая сообщает MySQL сервер для изменения таблицы с именем «table_name».
  • «ДОБАВИТЬ СТОЛБЕЦ `имя_столбца` `тип_данных`» это команда, которая сообщает 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 добавляет новый столбец с именем credit card number в таблицу members с VARCHAR в качестве типа данных. Выполнение скрипта show columns дает нам следующие результаты.

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 мы добавили столбец с именем «Номер кредитной карты» в таблицу участников.

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

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

ALTER TABLE `members` DROP COLUMN `credit_card_number`;

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

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

SHOW COLUMNS FROM `members`;

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

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» из нашей базы данных.

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

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

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

Синтаксис:-

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

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 Workbench с myflixdb дает нам следующие результаты.

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 Workbench против myflixdb и последующее выполнение скрипта show columns, приведенного выше, дает следующие результаты.

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 нам пришлось изменить имя поля, а также другие детали. Если пропустить имя поля в инструкции CHANGE, возникнет ошибка. Предположим, нас интересует только изменение типа данных и ограничений поля, не затрагивая имя поля. Для этого мы можем использовать ключевое слово MODIFY.

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

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

Выполнение приведенного выше сценария в MySQL Workbench против myflixdb и последующее выполнение скрипта show columns, приведенного выше, дает следующие результаты, показанные ниже.

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 Workbench против myflixdb и последующее выполнение скрипта show columns, приведенного выше, дает следующие результаты, показанные ниже.

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 используется для указания положения столбца в таблице.

Подведем итог этой публикации следующим образом: