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

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 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 проти 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, Column) на нове ім'я .

Перейменування таблиці не призводить до втрати даних, що містяться в ній.

Синтаксис: -

Команда rename має наступний базовий синтаксис.

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. Змініть назву поля з "повні_імена" на "повне ім'я"
  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 або об'єктів у базі даних.
  • Команда rename використовується для зміни імені таблиці на нову назву таблиці.
  • Ключове слово Змінити дозволяє змінити назву стовпця, тип даних та обмеження
  • Змінити ключове слово дозволяє змінити тип даних стовпця та обмеження
  • Ключове слово After використовується для вказівки позиції стовпця в таблиці