Савельева Нина Владимировна
Шрифт:
Тип столбца (тип в выражении определение_столбца) может быть одним из следующих:
– целый: INT[(length)] [UNSIGNED] [ZEROFILL]
– действительный: REAL[(length,decimals)] [UNSIGNED] [ZEROFILL]
– символьный: CHAR(length) [BINARY] и VARCHAR(length) [BINARY]
– дата и время: DATE и TIME
– для работы с большими объектами: BLOB
– текстовый: TEXT
– перечислимое множество: ENUM(value1,value2,value3,...) и SET(value1,value2,value3,...)
Полный список типов смотрите в документации MySQL.
Вместо перечисления столбцов и их свойств в определении_столбца можно задавать списки ключевых и индексных полей, ограничения и проверки:
PRIMARY KEY (имя_индексируемого_столбца, ...)
или
KEY [имя_индекса] (имя_индексируемого_столбца,...)
или
INDEX [имя_индекса] (имя_индексируемого_столбца,...)
или
(имя_индексируемого_столбца,...)
или
(имя_индексируемого_столбца,...)
или
[reference_definition]
или
CHECK (expr)
При задании всех этих элементов указывается список полей (столбцов), которые будут входить в индекс, ключ или ограничение, имя_индексируемого_столбца записывается следующим образом:
FOREIGN KEY, CHECK и REFERENCES на самом деле ничего не делают в MySQL. Они добавлены только для совместимости с другими SQL-серверами. Поэтому на них мы останавливаться не будем.
Кроме всего перечисленного, при создании таблицы можно указать некоторые ее свойства (опции_таблицы), например такие:
– тип таблицы: TYPE = {BDB | HEAP | ISAM | InnoDB | MERGE | MRG_MYISAM | MYISAM }
– начальное значение счетчика автоинкремента: AUTO_INCREMENT = число
– средняя длина строк в таблице: AVG_ROW_LENGTH = число
– комментарии к таблице (строка из 60 символов): COMMENT = "строка"
– максимальное и минимальное предполагаемое число строк: MAX_ROWS = число и MIN_ROWS = число
И последний (опять же опциональный) элемент команды CREATE – это выражение SELECT (select_выражение). Синтаксис такой:
Если при создании таблицы в команде CREATE указывается выражение SELECT, то все поля, полученные выборкой, добавляются в создаваемую таблицу.
Пример 10.1. Создадим таблицу Persons, структура которой была приведена на рисунке 10.1.
С помощью специфичной для MySql команды SHOW можно просмотреть существующие базы данных, таблицы в базе данных и поля в таблице.
Показать все базы данных:
Сделать текущей базу данных book и показать все таблицы в ней: