Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lec11_uk.doc
Скачиваний:
1
Добавлен:
20.07.2019
Размер:
276.48 Кб
Скачать

8

Лекція

Тема: Оператори мови MySQL

План

1. Оператор створення таблиці

2. Оператор зміни таблиці

3. Оператор видалення таблиці

4. Оператор видалення записів

5. Запит на вибірку даних

6. Використання ключів (індексів)

7. Оператор вставки даних

8. Оператор зміни даних

1. Оператор створення таблиці

Синтаксис:

CREATE TABLE table_name (create_definition, ...)

Тут create_definition має наступний формат:

create_definition:

column_name type NOT NULL [DEFAULT default_value] [ PRIMARY KEY ] or

column_name type [NULL] [ PRIMARY KEY ] or

PRIMARY (KEY|INDEX) [key_name] ( column_name,... ) or

(KEY|INDEX) [key_name] ( column_name[length],...) or

INDEX [key_name] ( column_name[length],...) or

UNIQUE (column_name[length],...) or

FOREIGN (KEY|INDEX) [key_name] (column_name[length],...)

REFERENCES table_name

[ON DELETE (RESTRICT | CASCADE | SET NULL) ]

Опис:

У MySQL всі поля мають неявне значення за умовчанням, якщо оголошені, як не порожні (NOT NULL). Якщо ви не даєте значення за умовчанням при використанні не порожнього поля, його буде призначено, виходячи з типу поля.

Блок FOREIGN потрібен тільки для сумісності. Ключове слово REFERENCE теж не виконує в даній версії ніяких дій.

Команда MySQL CREATE TABLE не підтримує ключове слово SQL CHECK.

Зауваження:

Номер стовпця може мати додаткове ключове слово AUTO_INCREMENT, щоб автоматично одержати номер = найбільший номер стовпця + 1 для кожної вставки, в якій номер стовпця = 0 або NULL.

AUTO_INCREMENT можна використовувати його тільки в одному полі таблиці. Це поле повинно бути оголошено як первинний ключ, і повинно бути числовим.

2. Оператор зміни таблиці

Синтаксис:

ALTER [IGNORE] TABLE table_name alter_specification [, alter_specification ...]

alter_specification:

ADD [COLUMN] create_definition or

CHANGE [COLUMN] old_column_name create_definition or

ALTER [COLUMN] column_name { SET default | DROP DEFAULT } or

DROP [COLUMN] column_name or DROP PRIMARY KEY or DROP INDEX key_name

Опис:

Команда ALTER TABLE може бути використана для зміни визначення таблиці. ALTER TABLE працює з тимчасово створеною таблицею в яку копіює всі дані з поточної таблиці. Коли копія готова, стара таблиця віддаляється, а нова перейменується в неї. Це виконано у такий спосіб, що всі зміни автоматично перепризначувалися на нову таблицю.

Поки працює ALTER TABLE, стара таблиця доступна для інших клієнтів. Оновлення і запис в таблицю зупиняються і будуть виконані тільки після того, як нова таблиця буде готова. Якщо IGNORE не визначений, то копіювання буде перервано і процес відпрацьований назад у разі наявності будь-яких унікальних ключів, що дублюються в новій таблиці.

CHANGE column_name, DROP column_name і DROP INDEX є MySQL розширеннями ANSI SQL.

[COLUMN] факультативний параметр і може бути опущений.

Конструкція ALTER [COLUMN] може бути використана для зміни або видалення старого значення за умовчанням.

ADD і CHANGE використовують один і той же create_definition, що і CREATE TABLE.

3. Оператор видалення таблиці

Синтаксис:

DROP TABLE table_name [table_name ...]

Опис:

Видаляє одну або декілька таблиць.

DROP TABLE повністю видалить іменовану таблицю(ы) з системи. Не передбачено ніякого UNDO або UNERASE.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]