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

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

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

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

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

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

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

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

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

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

ВОТ

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

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