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

Anonim

ЧТО ТАКОЕ АЛЬТЕР-КОМАНДА?

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

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

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

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

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

Альтернативный синтаксис

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

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

ЗДЕСЬ

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

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

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

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 из таблицы members

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

SHOW COLUMNS FROM `members`;

Выполнение вышеуказанного сценария в рабочей среде MySQL для 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 таблицы из базы данных следующий:

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

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

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

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