(язык определения данных) (язык преобразования данных)
create/alter/drop table insert – добавление записи
Команды создания и изменения delete – удаление записи
структуры таблицы: update – изменение значений полей
create/alter/drop index* select – команда выборки
database*
* - в стандарте отсутствует
alter – изменять
drop – удалить
Грубо говоря, SQL состоит из команды select.
Create Table (имя таблицы) ((имя поля, тип поля [размерность]), {ограничение целостности уровня поля})
Так описываются все поля таблицы. В конце стоит ограничение целостности уровня записи и (в ANSI) уровня ссылочной целостности.
Типы данных полей: integer, character (символьная строка), decimal, numeric, smallint, float, real, double precision, date, time.
Другие популярные, но в стандарт не входящие, типы: money/currency, autoinc (авто приращение +1).
Ограничение целостности уровня поля:
Not null – в поле не разрешены значения null.
Unique – значения поля не должны повторяться.
Primary key – данное поле содержит значение первичного ключа.
Check <предикат> - проверка значения поля.
Default <выражение> - автоматически появляется при добавлении записи.
References* <имя таблицы > (имя поля этой таблицы) – ссылается на заданное поле заданной таблицы. Данное поле является внешним ключом по отношению к заданному полю как к первичному.
Ограничение целостности уровня записи:
Unique – уникальная запись (не может повторяться)
Primary key (список полей) – данный список полей образует первичный ключ.
Check <предикат> - предикат ссылается на несколько полей записи.
Foreign key (список 1 полей) – внешний ключ.
References (имя таблицы) имена полей – задан список полей 1, играет роль внешнего ключа по отношению к заданной таблице как к родительской, в которой список 2 является первичным ключом.