Язык программирования PHP



         

Оператор CREATE TABLE - часть 2


имя_столбца тип [NOT NULL | NULL] [DEFAULT значение_по_умолчанию] [AUTO_INCREMENT][PRIMARY KEY] [reference_definition]

Тип столбца (тип в выражении определение_столбца) может быть одним из следующих:

  • целый: 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 [имя_индекса] (имя_индексируемого_столбца,...)

или

UNIQUE [INDEX] [имя_индекса] (имя_индексируемого_столбца,...)

или

FULLTEXT [INDEX] [имя_индекса] (имя_индексируемого_столбца,...)

или

[CONSTRAINT symbol] FOREIGN KEY [имя_индекса] (имя_индексируемого_столбца,...) [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 = число




Содержание  Назад  Вперед