Синтаксис оператора определения таблиц содержит ряд обязательных и дополнительных параметров. Ниже приводится неполный вариант использования оператора, достаточный для выполнения лабораторных работ:
CREATE TABLE имя_таблицы
( имя_столбца тип_данных [NOT NULL][UNIQUE]
[ DEFAULT значение_по_умолчанию]
[AUTO_INCREMENT]
[PRIMARY KEY]
[ CHECK (условие)] [,…]
[FOREIGN KEY ( имя_столбца ) REFERENCES имя_таблицы(имя_столбца)] );
Параметры команды:
имя_таблицы | - имя создаваемой таблицы |
имя_столбца | - имя атрибута (поля) |
тип_данных | - тип данных атрибута (поля) |
NOT NULL | - спецификатор, указываемый для тех атрибутов (полей), которые не должны содержать пустых (NULL) значений |
UNIQUE | - спецификатор, указываемый для тех атрибутов (полей), которые не должны содержать повторяющихся значений (требование уникальности) |
DEFAULT значение_по_умолчанию | - значение по умолчанию, присваиваемое данному полю, используется после спецификатора DEFAULT |
AUTO_INCREMENT | - спецификатор, указываемый для тех целочисленных атрибутов (полей), значения которых автоматически увеличиваются (инкрементируются) при добавлении новых строк. Обычно используется для первичных ключей |
PRIMARY KEY | - спецификатор, указываемый для атрибутов (полей), являющихся первичными ключами |
CHECK условие | - выражение ограничения целостности, накладываемые на значения атрибута (поля), используется после спецификатора CHECK |
FOREIGN KEY REFERENCES имя_таблицы(имя_столбца) | - спецификатор, указываемый для атрибутов (полей), являющихся внешними ключами и связанными (первичным ключом) другой таблицы |
Пример создания таблицы:
CREATE TABLE Parts
(Part_ID INTEGER UNSIGNED NOT NULL,
Part_name VARCHAR(80),
Material VARCHAR(80),
Weight INTEGER CHECK (WEIGHT>0));
В этом примере на поле WEIGHT накладывается ограничение целостности, которое не позволяет для данного поля задавать отрицательные значения - CHECK (WEIGHT >=0).