Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Параметры столбцов таблицы

Необязательные параметры

UNSIGNED (беззнаковый). Запрещает ввод отрицательных значений.

SIGNED (знаковый).Значения столбца могут принимать отрицательные значения. Допустим только для целого типа данных. По умолчанию установлено значение SIGNED.

 

BINARY. Поле, чувствительное к регистру букв (для типов CHAR и VARCHAR).

 

NOT NULL. Определяет, что поле обязательно должно иметь значение при вставке новой записи в таблицу (если не задано значение по умолчанию). Если параметр NOT NULL не задан, то это означает, что поле может содержать пустые значения. По умолчанию установлено значение NULL.

 

DEFAULT значение_по_умолчанию. Задает для поля значение по умолчанию, которое будет использовано, если при вставке записи для этого поля не было явно указано значение этого поля. Это ключевое слово нельзя использовать для типа BLOB или TEXT.

 

Примечание. Если значение по умолчанию для столбца не задано (параметр DEFAULT отсутствует), но столбец объявлен как NOT NULL, то значение по умолчанию присваивается автоматически следующим образом:

· для числовых столбцов, кроме столбцов AUTO_INCREMENT, значение по умолчанию устанавливается равным 0. В столбце AUTO_INCREMENT значением по умолчанию является следующее значение в последовательности столбца;

· для типов даты и времени, кроме TIMESTAMP, по умолчанию устанавливается значение " 0000-00-00";

· для строковых типов, кроме типа ENUM, значением по умолчанию является пустая строка. Для типа ENUM таким значением является первый элемент перечня.

 

ZEROFILL ( только для цифровых типов данных). Он указывает на то, что значения столбца при их отображении дополняются ведущими нулями до максимальной длины поля. Значения, длина которых превышает длину отображения, будут отображаться полностью без усечения.

 

Пример. Создадим столбец в таблице mytbl с именем nomer, числового типа, размером 5 знаков и параметром ZEROFILL:

 

CREATE TABLE mytbl (nomer INT(5) ZEROFILL);

 

Затем введем в него значения 1, 100, 1000, 1 000 000 командой:

 

INSERT INTO mytbl VALUES (1),(100),(1000),(1000000);

 

Тогда получим следующее содержимое столбцаnomer: 00001, 00100, 01000, 1000000

Общие параметры

1) AUTO_INCREMENT. Этот параметр указывает, что поле является счетчиком. Обычно начальное значение равно 1 с автоматическим приращением 1.

Если при вставке новой записи указать NULL, то автоматически будет сгенерировано значение, на единицу большее максимального, значения, уже существующего в поле.

Параметр AUTO_INCREMENT применяется только к столбцам, являющимся первичными ключами таблиц. Число столбцов AUTO_INCREMENT в таблице не может превышать одного.Кроме того, так как порядковые номера всегда целые (INT) и положительные (UNSIGNED), их можно объявлять одновременно в описании столбца.

 

Пример. Пример создания таблицы с именем primer. В состав таблицы входят столбец: kod, значения которого формируются автоматически с шагом 1, начиная с начального значения 1; а также два столбца с именами i1, i2 целого типа (типа INT) со значениями по умолчанию -1, 1:

 

CREATE TABLE primer

(kod INT UNSIGNED NOT NULL AUTO_INCREMENT,

i1 INT DEFAULT -1,

i2 INT DEFAULT 1);

 

2) PRIMARY KEY. Указывает, что данный столбец является первичным ключом, содержащим только уникальные значения. PRIMARY KEY должен быть NOT NULL, т.е. не содержать пустых значений. Каждая таблица может иметь только один PRIMARY KEY.

3) UNIQUE. Определяет столбец как индекс UNIQUE, содержащий только уникальные значения. В отличие от PRIMARY KEY индекс UNIQUE может содержать несколько пустых значений. Индексов UNIQUE может быть несколько в одной таблице.

4) INDEXиKEY являются синонимами и определяют индексы, которые могут содержать повторяющиеся значения (используются для задания внешних ключей).

5) FULLTEXT. Индекс, который используется при осуществлении полнотекстового поиска или так называемого поиска по контексту. Индекс этого типа поддерживается только для таблиц типа MyISAM.

6) COMMENT 'string'. Определяет описательный комментарий, связанный со столбцом.

 

Дополнительные опции таблицы

AUTO_INCREMENT =. Задает начальное значение для автоматической генерации значений столбца, заданного с типом AUTO_INCREMENT.

TYPE=тип_таблицы. Определяет структурный тип создаваемой таблицы. На практике обычно используются два типа таблиц – MyISAM и InnoDB.

DEFAULT CHARSET=. Определяет тип кодировки для создаваемой таблицы.

Рассмотрим пример команды создания таблицы.

 

Пример. Создадим таблицу mytbl, имеющую в своем составе столбцы kod, one, two и three.Можно воспользоваться командой CREATE TABLE следующего вида:

 

mysql>CREATE TABLE mytbl

->(kod INT UNSIGNED NOT NULL AUTO_INCREMENT,

->one FLOAT(5,2),

->two CHAR(15) NOT NULL DEFAULT "none",

->three TINYINT UNSIGNED

->PRIMARY KEY (kod))

->AUTO_INCREMENT=10

->TYPE=MyISAM DEFAULT CHARSET=cp1251;

 

Примечание. Столбец kod является первичным ключом, значения которого формируются автоматически с шагом 1, начиная с начального значения, равного десяти. Столбец one содержит значения вещественного типа FLOAT(5,2); цифра пять указывает общее количество цифр в числе, а цифра два показывает количество цифр в дробной части. Это позволяет задавать значения столбца с точностью до сотых.

Значения столбца two объявлены как строка символов длиной 15 (CHAR(15)), указана недопустимость пустых значений в поле (NOT NULL); по умолчанию в столбец записываются символы «none»(DEFAULT "none").

Тип TINYINT столбца three указывает, что в столбец может принимать целые значения от 0 до 255, причем только положительные (UNSIGNED), а также может содержать пустые значения (NULL).

<== предыдущая лекция | следующая лекция ==>
Типы данных в столбцах таблицы | Команды просмотра таблиц базы данных
Поделиться с друзьями:


Дата добавления: 2013-12-13; Просмотров: 438; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.