Составители:
Рубрика:
28
Типы даты и времени
MySQL поддерживает различные типы даты и времени, которые
обсуждаются ниже.
DATE
Тип DATE предназначен для хранения дат. MySQL ожидает получить
дату в стандартной форме ISO (год-месяц-день), а не в трансатлантических ее
вариантах. Отображаются значения даты в виде ГГГГ-ММ-ДД.
TIME
Этот тип предназначен для хранения значений времени
, отображаемых в
виде ЧЧ:ММ:СС.
DATETIME
Это — комбинация предыдущих двух типов. Формат ее следующий:
ГГГГ-ММ-ДД ЧЧ:ММ:СС.
TIMESTAMP
Это — очень полезный тип столбца. Если в соответствующем столбце
строки вы не укажете конкретное значение или NULL, там будет записано
время, когда соответствующая строка была создана или в последний раз
изменена.
Извлекаемое значение TIMESTAMP будет отображаться в формате
DATETIME. Здесь имеется существенное различие между MySQL 4.0 и 4.1.
Раньше вы могли установить ширину значения при объявлении столбца типа
TIMESTAMP.
YEAR
Этот тип предназначен для хранения значений года. При объявлении
столбца этого типа можно объявить его как YEAR (2) или YEAR (4), чтобы
указать число знаков. По умолчанию
используется YEAR (4 ). YEAR (2)
представляет значения с 1970 по 2069.
Изменение структуры таблиц
Кроме создания и удаления таблиц, бывает нужно изменить структуру
уже существующей таблицы. Это можно сделать с помощью оператора
ALTER TABLE. Оператор ALTER TABLE имеет очень много вариантов,
которые можно использовать для изменения структуры таблиц.
Например, можно создать индекс name для таблицы employee следующим
образом:
alter table
street add
29
index name
(street_name);
Оператор ALTER TABLE является исключительно гибким, поэтому он
имеет огромное множество дополнительных ключевых слов. Общая форма
оператора из руководства по MySQL выглядит так:
ALTER [IGNORE] TABLE имя_таблицы
спецификация_а11ег [, спецификация_а1Ьег
. . . ]
спецификация_а1ter:
ADD [COLUMN] определение_сгеаЬе
[FIRST I AFTER
имя_столбца] или ADD
[COLUMN] (определение_сгеаЬе,
определение_сгеаЬ
е, ...) или ADD
INDEX [имя_индекса]
(имя_
столбца_индекса, ...) или
ADD PRIMARY KEY (имя_столбца_индекса,
. . . ) или ADD UNIQUE
[имя__индекса]
(имя_столбца_инде
кса, . . . ) или ADD
FULLTEXT [имя_индекса]
(имя_столбца_индекса,...) или ADD
[CONSTRAINT символ] FOREIGN KEY [имя_индекса]
(имя_столбца_индекса,...)
[определение_ссылки] или ALTER [COLUMN]
имя_столбца
{SET DEFAULT литерал | DROP DEFAULT} или
CHANGE [COLUMN] старое_имя_столбца
определение_сгеаЬе
[FIRST I AFTER
имя_столбца] или MODIFY
[COLUMN] определение_
сгеаЬе
[FIRST I AFTER
имя_столбца] или DROP
[COLUMN] имя_столбца или
DROP PRIMARY KEY или
DROP INDEX имя_индекса или