ЧТО ТАКОЕ АЛЬТЕРНАЯ КОМАНДА?
Как говорится, изменение — единственная постоянная
Со временем меняются и бизнес-требования. По мере изменения бизнес-требований дизайн базы данных также должен меняться.
MySQL предоставляет функцию ALTER, которая помогает нам вносить изменения в уже существующий дизайн базы данных .
Команда alter используется для изменения существующей базы данных, таблицы, представления или других объектов базы данных, которые могут потребоваться изменить в течение жизненного цикла базы данных.
Давайте предположим, что мы завершили разработку нашей базы данных, и она была реализована. Наши пользователи базы данных используют его, и затем они понимают, что некоторая важная информация была оставлена на этапе проектирования. Они не хотят потерять существующие данные, а просто хотят включить новую информацию. Команда alter пригодится в таких ситуациях. Мы можем использовать команду alter, чтобы изменить тип данных поля, скажем, с строки на числовой, изменить имя поля на новое имя или даже добавить новый столбец в таблице.
Альтернативный синтаксис
Основной синтаксис, используемый для добавления столбца в уже существующую таблицу, показан ниже
ALTER TABLE `table_name` ADD COLUMN `column_name` `data_type`;
ВОТ
- «ALTER TABLE` table_name` » — это команда, которая указывает серверу MySQL изменить таблицу с именем« table_name ».
- «ADD COLUMN` column_name` `data_type`» — это команда, которая сообщает серверу 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 дает нам следующие результаты.
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 КОМАНДА?
Команда DROP используется для
- Удалить базу данных с сервера MySQL
- Удалить объект (например, Таблица, Столбец) из базы данных.
Давайте теперь посмотрим на практические примеры, которые используют команду DROP.
В нашем предыдущем примере с командой Alter мы добавили столбец с именем номера кредитной карты в таблицу участников.
Предположим, что онлайн-биллинг займет некоторое время, и мы хотим удалить столбец кредитной карты.
Мы можем использовать следующий скрипт
ALTER TABLE `members` DROP COLUMN `credit_card_number`;
При выполнении вышеуказанного скрипта столбец credit_card_number удаляется из таблицы members
Давайте теперь посмотрим на столбцы в таблице членов, чтобы подтвердить, был ли удален наш столбец.
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 varchar(255) YES NULL
Обратите внимание, что номер кредитной карты был удален из списка полей.
DROP TABLE
Синтаксис DROP для таблицы из базы данных следующий:
DROP TABLE `sample_table`;
Давайте посмотрим на пример
DROP TABLE `categories_archive`;
Выполнение вышеупомянутого сценария удаляет таблицу с именем `ateg_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`;
ИЗМЕНИТЬ КЛЮЧЕВОЕ СЛОВО
Смена ключевых слов позволяет
- Изменить имя столбца
- Изменить тип данных столбца
- Изменить ограничения столбца
Давайте посмотрим на пример. Поле полных имен в таблице членов имеет тип данных 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 varchar(255) YES NULL
Предположим, мы хотим
- Измените имя поля с «full_names» на «fullname
- Измените его на тип данных char с шириной 250
- Добавьте ограничение NOT NULL
Мы можем сделать это, используя команду изменения следующим образом:
ALTER TABLE `members` CHANGE COLUMN `full_names` `fullname` char(250) NOT NULL;
Выполнение вышеупомянутого сценария в MySQL workbench для 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 varchar(255) YES NULL
MODIFY KEYWORD
Ключевое слово MODIFY позволяет вам
- Изменить тип данных столбца
- Изменить ограничения столбца
В приведенном выше примере 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 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, приведенного выше, дает следующие результаты, показанные ниже.
Note: The Hilighted row is added after date_of_birth cloumn
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
Резюме
- The alter command is used when we want to modify a database or any object contained in the database.
- The drop command is used to delete databases from MySQL server or objects within a database.
- The rename command is used to change the name of a table to a new table name.
- The Change keyword allows you to change a column name , data type and constraints
- The Modify Keyword allows you to modify a column data type and constraints
- The After keyword is used to specify position of a column in a table