Курс "Язык программирования PHP"
Шрифт:
В версии MySQL 3.23 и более поздних можно использовать ключевые слова IF NOT EXISTS для того, чтобы не возникала ошибка, если указанная таблица уже существует. Следует учитывать, что при этом идентичность структур этих таблиц не проверяется.
Каждая таблица представлена набором определенных файлов в директории базы данных.
Синтаксис
В
Тип столбца (тип в выражении определение_столбца) может быть одним из следующих:
– целый: 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 и показать все таблицы в ней: