Составители:
Рубрика:
22
NULL), или позволено (NULL). По умолчанию столбцам разрешается
содержать значения NULL.
■ Объявить для столбца значение по умолчанию, используя ключевое
слово DEFAULT, за которым должно следовать значение, которое мы
хотим использовать по умолчанию.
■ Использовать ключевое слово AUTO_INCREMENT, как в предыдущем
примере, чтобы генерировать порядковый номер. Автоматически
генерируемое значение будет на единицу большим
, чем текущее
наибольшее значение в таблице. Первая введенная в таблицу строка
будет иметь порядковый номер 1. В каждой таблице разрешается иметь
не более одного столбца AUTO_INCREMENT, и он должен
индексироваться. Как вы увидите позже, в предыдущих примерах мы не
создавали никаких индексов вручную, однако они были автоматически
созданы для нас. Индексы автоматически
создаются для столбцов,
объявленных как PRIMARY KEY, а такими были все столбцы
AUTO_INCREMENT в нашем примере.
■ Объявить столбец первичным ключом таблицы с помощью выражения
PRIMARY KEY.
■ Объявить столбец внешним ключом, используя, как в предыдущем
примере, выражение REFERENCES.
Кроме имен столбцов и их типов, в этой части оператора CREATE TABLE
можно объявить и другую информацию
о столбцах.
■ Чтобы создать первичный ключ, состоящий из нескольких столбцов,
как в примере, необходимо указать выражение PRIMARY KEY, за
которым следуют имена столбцов, формирующих этот ключ. Точно так
же можно объявить и первичный ключ, состоящий из одного столбца.
Столбец PRIMARY KEY является уникальным индексированным
столбцом, который не может содержать значения NULL.
■ INDEX
и KEY являются синонимами и означают, что указанные
столбцы (столбец) будут индексированы. Обратите внимание, эти
столбцы не обязательно должны содержать уникальные значения в
MySQL.
■ UNIQUE может использоваться для указания того, что
соответствующий столбец должен содержать уникальные значения.
Столбцы UNIQUE тоже будут индексированы.
■ FULLTEXT используется для создания полнотекстовых индексов на
основе столбцов
типа TEXT, CHAR или VARCHAR. Полнотекстовые
индексы можно использовать только с таблицами MylSAM.
Соответствующий пример приведен в главе 9, "Типы таблиц MySQL".
23
■ Выражение FOREIGN KEY позволяет объявлять внешние ключи точно
так же, как и первичные.
После закрывающей скобки можно указать некоторые дополнительные
характеристики таблицы. Одной из таких характеристик, как вы уже знаете,
является тип таблицы. Типы таблиц будут обсуждаться подробно в главе 9.
Если не указать тип, создаваемая таблица по умолчанию будет таблицей
MylSAM.
Ниже приводятся допустимые значения для типов таблиц.
■ MylSAM, принимается по умолчанию. Таблицы этого типа работают
очень быстро и поддерживают полнотекстовую индексацию. Этот тип
заменил предыдущий стандартный тип ISAM.
■ ISAM является старым типом таблиц. Подобен MylSAM, но с
меньшими возможностями, поэтому вместо него всегда следует
использовать MylSAM.
■ InnoDB является ACID-совместимым механизмом хранения,
обеспечивающим
поддержку транзакций, внешних ключей и блокировки
на уровне строк.
■ BDB (Berkeley DB) является механизмом хранения, который
обеспечивает поддержку транзакций и блокировки на уровне страниц.
■ Таблицы HEAP целиком хранятся в памяти и никогда не записываются
на диск, поэтому они работают очень быстро, но ограничены в размерах и
не допускают возможности восстановления в случае
отказа системы.
■ Таблицы MERGE позволяют объединить несколько таблиц MylSAM с
одной структурой, чтобы к ним можно было направлять запросы как к од-
ной таблице. Это можно использовать для того, чтобы обойти
ограничения операционной системы на максимальный размер файлов, а
следовательно, и таблиц.
Можно указать и другие опции для таблицы. Они не обязательны
и
используются по большей части для оптимизации. Некоторые из них будут
обсуждаться в главе 18, "Оптимизация базы данных". Вот перечень этих
опций.
■ AUTO_INCREMENT = # Позволяет установить начальное значение
auto_ increment, отличное от 1.
■ AVG_ROW_LENGTH = # Позволяет указать оценку для средней длины
строки, чтобы помочь механизму хранения.
■ CHECKSUM = 1 Позволяет включить вычисление контрольной
суммы
для строк таблицы, что может помочь обнаружить проблему при
повреждении таблицы. Чтобы включить вычисление контрольной суммы,
укажите значение 1. По умолчанию эта опция выключена и работает
только с таблицами MylSAM.
Страницы
- « первая
- ‹ предыдущая
- …
- 10
- 11
- 12
- 13
- 14
- …
- следующая ›
- последняя »