Команда ALTER TABLE
Добавлення нового стовпця:
ALTER TABLE <Ім’я таблиці> ADD <Ім’я стовпця> <Тип стовпця> [<Властивості стовпця>] [FIRST або AFTER <Ім’я попереднього стовпця>];
Новий стовпець записується останнім у списку стовпців. Але його місце можна задати опцією:
FIRST – новий стовпець буде першим
AFTER – буде розміщений після вказаного попереднього стовпця.
Добавлення в таблицю типу MyISAM повнотекстового індексу командою:
ALTER TABLE <Ім’я таблиці> ADD FULLTEXT [<Ім’я индексу>] (<Список стовпців>);
Зміна властивостей таблиці:
Зміна (або задання) опціональних властивостей таблиці
ALTER TABLE <Ім’я таблиці> <властивість таблиці>; ALTER TABLE <Ім’я таблиці> ENGINE <Новий тип таблиці>;
Зміна кодування і правила порівняння символьних стовпців, які будуть створені після цієї команди
ALTER TABLE <Ім’я таблиці> CHARACTER SET <Ім’я кодування> [COLLATE <Ім’я правила порівняння>];
Нове кодування для вже існуючих символьних стовпців таблиці
ALTER TABLE <Ім’я таблиці> CONVERT TO CHARACTER SET <Ім’я кодування> [COLLATE <Ім’я правила порівняння>];
Зміна властивостей стовпців
Повна зміна опису стовпця:
ALTER TABLE <Ім’я таблиці> CHANGE <Ім’я стовпця > <Нове ім’я стовпця> <Новий тип > [<Властивості стовпця>] [FIRST або AFTER < Ім’я попереднього стовпця>];
Зміна опису стовпця без перейменування:
ALTER TABLE <Ім’я таблиці> MODIFY <Ім’я стовпця> <Новий тип стовпця> [<Властивості стовпця>] [FIRST або AFTER < Ім’я попереднього стовпця>]; Встановлення значення по замовчуванню для стовпця: ALTER TABLE <ім’я таблиці> ALTER <Ім’я стовпця> SET DEFAULT <Значення по замовчуванню>;
Видалення значення по замовчуванню:
ALTER TABLE <Ім’я таблиці> ALTER <Ім’я стовпця> DROP DEFAULT;
Видалення стовпця таблиці:
ALTER TABLE <Ім’я таблиці> DROP <Ім’я стовпця>;
Крім того, стовпець одночасно видаляється з усіх індексів.
Видалення первинного ключа таблиці:
ALTER TABLE <Ім’я таблиці> DROP PRIMARY KEY;
Видалення зовнішнього ключа таблиці:
ALTER TABLE <Ім’я таблиці> DROP FOREIGN KEY <Ім’я зовнішнього ключа>;
Якщо при створенні зовнішнього ключа не було задане його ім’я, то воно формується автоматично. Отримати його можна командою
SHOW CREATE TABLE.
Видалення індексу
ALTER TABLE <Ім’я таблиці> DROP INDEX <Ім’я індексу>;
<Ім’я індексу> можна отримати за допомогою команди SHOW CREATE TABLE.
Додаткові можливості команди ALTER TABLE
Відключення (тимчасове) індексів
ALTER TABLE <Ім’я таблиці> DISABLE KEYS;
Відновлення індексів
ALTER TABLE <Ім’я таблиці> ENABLE KEYS;
Перейменування таблиці
ALTER TABLE <Ім’я таблиці> RENAME <Нове ім’я таблиці>;
Упорядкування рядків таблиці (нова цікава можливість!!!)
ALTER TABLE <Ім’я таблиці> ORDER BY <Ім’я стовпця 1> [ASC або DESC], [<Ім’я стовпця 2> [ASC або DESC],...];
Список таблиць активної БД
SHOW TABLES;
Характеристики стовпців таблиці
DESCRIBE <Ім’я таблиці>;
Field – ім’я стовпця; Type – тип стовпця;
Null – YES – допускаються значення NULL:, NO – ні;
Key – стовпець міститься в ключі або індекси;
Default – значення по замовчуванню; Extra – додаткова інформація.
SHOW CREATE TABLE <Ім’я таблиці>;
Видає повну інформацію про таблицю у вигляді команди CREATE TABLE.
Розташування деяких основних компонентів MySQL
C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe C:\ProgramData\MySQL\MySQL Server 5.7\my.ini
Режим можна отримати за допомогою команди
SHOW VARIABLES LIKE 'sql_mode';
При значенні STRICT_TRANS_TABLES або STRICT_ALL_TABLES сервер працює в строгому режимі, інакше – у нестрогому режимі.
Зміна режиму взаємодії для даного з'єднання
Режими при команді INSERT
INSERT [INTO] <Ім’я таблиці> [(<Список стовпців>)] VALUES (<Список значень 1>), (<Список значень 2>), ... (<Список значень N>);
Обробка некоректного значення залежить від режиму взаємодії клієнта з сервером MySQL. Виконання INSERT в обох режимах відміняється, якщо –
У строгому режимі для NOT NULL необхідно задати значення.
Виключення: стовпці з TIMESTAMP, ENUM і АUTO_INCREMENT (використовуються такі ж значення, що і в нестрогому режимі).
Виконання INSERT у нестрогому режимі
для числових стовпців – 0, для AUTO_INCREMENT – наступний порядковий номер; для стовпців з типом дати і часу (0000–0000 00:00:00), для типу TIMESTAMP – системна дата і час; для символьних стовпців – порожній рядок, для стовпця з типом ENUM – перший елемент списку.
Операція завершується успішно, але генерується відповідне попередження (див. команду SHOW WARNINGS).
Редагування даних в таблиці
Зміна даних в існуючих рядках таблиці:
UPDATE <Ім’я таблиці> SET <Ім’я стовпця 1> = <Значення 1>, ..., <Ім’я стовпця N> = <Значення N> [WHERE <Умова відбору>] ;
Зміна існуючих даних або добавлення рядків:
REPLACE [INTO] <Ім’я таблиці> [(<Список стовпців>)] VALUES (<Список значень 1>), (<Список значень 2>), ... (<Список значень N>);
Якщо в даних, які вставляються в таблицю командою REPLACE, первинний ключ (унікальний індекс) співпадає з одним з вже існуючим значенням, то має місце заміна цього рядка (UPDATE). Інакше команда REPLACE виконується, як INSERT.
REPLACE = {INSERT or UPDATE}