MySQL 5.0. Библиотека программиста | страница 36
Например, чтобы задать для поля phone (телефон) таблицы Customers (Клиенты) значение по умолчанию, равное пустой строке, можно определить это поле следующим образом:
phone VARCHAR(20) DEFAULT \'\'
• COMMENT \'Текст комментария\'. Произвольное текстовое описание столбца длиной до 255 символов. Например, описание для поля rating (рейтинг) таблицы Customers (Клиенты) можно задать следующим образом:
rating INT COMMENT \'Рейтинг клиента\'
Помимо перечисленных свойств, для столбца можно также задать свойства UNIQUE и PRIMARY KEY, однако соответствующие настройки ключевых столбцов и индексов можно указать и после определения всех столбцов таблицы. Мы будем рассматривать только второй вариант создания ключевых столбцов и индексов. Об этом и пойдет речь в следующем пункте. Ключевые столбцы и индексы
После того как определены все столбцы таблицы, можно перечислить через запятую ключевые столбцы и индексы (см. листинги 2.1–2.4). Вы можете использовать следующие конструкции:
• [CONSTRAINT <Имя ключа>] PRIMARY KEY (<Список столбцов>).
Определяет первичный ключ таблицы (о первичных ключах было рассказано в главе 1). В таблице может быть только один первичный ключ, состоящий из одного или нескольких столбцов. Столбцам, входящим в первичный ключ, автоматически присваивается свойство NOT NULL. Ключевое слово CONSTRAINT и имя ключа можно опустить, так как для первичного ключа заданное имя игнорируется и используется имя PRIMARY.
Если в состав первичного ключа входят столбцы с типом TINYBLOB, TINYTEXT, BLOB, TEXT, MEDIUMBLOB, MEDIUMTEXT, LONGBLOB и LONGTEXT, необходимо указать количество символов в начале значения столбца; при этом первичный ключ содержит не полные значения столбца, а только начальные подстроки значений. Пример определения первичного ключа:PRIMARY KEY (id)
Именно так мы создали первичный ключ для таблиц Customers (Клиенты), Orders (Заказы) и Products (Товары) (см. листинги 2.2–2.4). Если бы мы решили не использовать дополнительный столбец id в таблице Products, а образовать первичный ключ из столбцов description (название) и details (описание), то в команду создания таблицы Products нужно было бы включить следующее определение:
PRIMARY KEY (description,details(10))
В этом случае в первичный ключ вошли бы столбец description и начальные подстроки значений столбца details длиной 10 символов.
• INDEX [<Имя индекса>] (<Список столбцов>).
Создает индекс для указанных столбцов. Индекс – это вспомогательный объект, позволяющий значительно повысить производительность запросов с условием на значение столбцов, включенных в индекс (подробнее об индексах мы поговорим в главе 6). Например, чтобы создать индекс для быстрого поиска по именам клиентов, в команду создания таблицы Customers (Клиенты) (см. листинг 2.2) можно включить определение