Помощь в написании студенческих работ
Антистрессовый сервис

Типы данных в MySQL

РефератПомощь в написанииУзнать стоимостьмоей работы

Тип TEXT обычно используется для хранения больших объемов текста (до 216 -1 символов), в то время как BLOB (также до 216 -1 символов) — для больших двоичных объектов, таких как электронные документы, изображения, музыкальные файлы и т. п. Типы MEDIUMBLOB, MEDIUMTEXT имеют максимальный размер (224 — 1) символов, а типы LONGTEXT, LONGBLOB — (232 -1) символов. Для типа SET, так же как и для типа… Читать ещё >

Типы данных в MySQL (реферат, курсовая, диплом, контрольная)

MySQL поддерживает несколько типов данных.

Числовые данные. К ним относят целые числа, не содержащие дробной части (например, 124), а также вещественные числа, имеющие как целую, так и дробную части (например, 56.45). Числовые данные делятся на точечные (bit, boolean, integer и decimal) и приближенные (float, real и double precision).

MySQL имеет пять целых типов: TINYINT, SMALLINT, MEDIUMINT, BIGINT. Различие между ними заключается в диапазоне величин, которые можно хранить в столбцах такого типа. Тип TINYINT имеет диапазон от -27 до 27−1, тип SMALLINT — от -215до 215−1, тип MEDIUMINT — от -223 до 223- 1, тип BIGINT — от-263до263−1.

Целые типы данных могут быть объявлены положительными. Для этого предназначено ключевое слово UNSIGNED. В этом случае элементам данного столбца нельзя будет присвоить отрицательные значения, а допустимый диапазон значений, которые может принимать тип, удваивается.

При объявлении целого типа можно задать количество отводимых под число разрядов (от 1 до 255).

Тип BIT предназначен для хранения битовых полей.

Тип BOOLEAN является синонимом для TINYINT (1). Значение 1 рассматривается как истина (true), a 0 — как ложь (false).

Тип DECIMAL, а также его синонимы NUMERIC и DEC предназначены для величин повышенной точности, например, для денежных данных. Требуемая точность задается при объявлении данных одного из этих типов, например:

DECIMAL (5,2). Здесь цифра 5 определяет общее число символов, отводимых под число, а цифра 2 задает количество знаков после запятой. При этом первый параметр может принимать максимальное значение, равное 64, а второй — максимальное значение, равное 30.

Для представления вещественных (приближенных) типов в СУБД MySQL имеются типы: FLOAT (диапазон от -3.4Е+38 до 3.4Е+38, точность 1.2Е-39), DOUBLE и DOUBLE PRECISION (-1.8Е+308 до 1.8Е+308, точность 2.2Е-308). Числовые типы данных с плавающей точкой также могут иметь параметр UNSIGNED. Как и в целочисленных типах, этот атрибут предотвращает хранение в отмеченном столбце отрицательных величин, но, в отличие от целочисленных типов, максимальный интервал для величин столбца остается прежним.

При формировании структуры таблицы необходимо обращать внимание на размер, занимаемый тем или иным типом данных: если значения в полях столбца никогда не будут выходить за пределы 100, не следует выбирать тип больше TINYINT. Если же предполагается хранить только целочисленные данные, то применение атрибута UNSIGNED позволит увеличить диапазон в два раза.

Строковые данные— последовательность символов, заключенных в одинарные или двойные кавычки: 'Hello world', '123', «MySQL». Поскольку в качестве стандарта в SQL определены одинарные кавычки, для совместимости с другими базами данных рекомендуется использовать именно их. Различают строковые типы CHAR, VARCHAR, BLOB, TEXT, MEDIUMTEXT, MEDIUMBLOB, LONGTEXT, LONGBLOB, ENUM, SET.

Тип CHAR позволяет хранить строку фиксированной длины; его дополняет тип VARCHAR, позволяющий хранить строки переменной длины. Длина строки может изменяться от 0 до 65 535. При создании таблицы нельзя смешивать столбцы типа CHAR и VARCHAR. В этом случае СУБД MySQL изменит тип столбцов согласно правилу: если таблице присутствует хотя бы один столбец переменной длины, все столбцы типа CHAR будут приведены к типу varchar.

Тип TEXT обычно используется для хранения больших объемов текста (до 216 -1 символов), в то время как BLOB (также до 216 -1 символов) — для больших двоичных объектов, таких как электронные документы, изображения, музыкальные файлы и т. п. Типы MEDIUMBLOB, MEDIUMTEXT имеют максимальный размер (224 — 1) символов, а типы LONGTEXT, LONGBLOB — (232 -1) символов.

К особым типам данных относятся ENUM и SET. Строки этих типов принимают значения из заранее заданного списка допустимых значений. Основное различие между ними заключается в том, что значение типа ENUM должно содержать точно одно значение из указанного множества, тогда как столбцы SET могут содержать любой (или все) элементы заранее заданного множества. Так, значения для столбца, объявленного как ENUM ('y', 'n'), могут принимать значения либо 'y', либо 'n'.

Для типа SET, так же как и для типа ENUM, при объявлении задается список возможных значений, но в ячейке таблицы может храниться любое значение из списка, а пустая строка означает, что ни один из элементов списка не выбран. Например, значения для столбца SET ('y', 'n') могут принимать значения ('y', 'n'), ('y'), ('n') и пустое множество ().

Календарные данные. СУБД MySQL имеет пять календарных типов данных: DАТЕ, DATETIME, TIME, TIMESTAMP и YEAR. Тип DАТЕ предназначен для хранения даты, TIME — для времени суток, a TIMESTAMP для представления и даты, и времени суток. Тип TIMESTAMP предназначен для представления даты и времени суток в виде числа секунд, прошедших с полуночи 1 января 1970 года. Тип данных YEAR позволяет хранить только год. Для значений, имеющих тип DATE и DATATIME принят формат YYYY-MM-DD или YY-MM-DD. В типах TIME и DATATIME время приводится в привычном формате hh: mm:ss.

Если время задается в недопустимом формате, то в поле записывается нулевое значение. Нулевое значение присваивается полям временного типа и по умолчанию, когда им не присваивается инициирующее значение.

Тип NULL. Если поле может принимать значение NULL, то в определении столбца после типа данных следует указать ключевое слово NULL. Если ни при каких обстоятельствах поле не должно принимать значение NULL (регистрация невозможна, если фамилия пользователя неизвестна), следует указать ключевое слово NOT NULL, например:

CREATE TABLE tbl.

(.

id INT NOT NULL,.

col_name VARCHAR (255) NOT NULL,.

);

При выборе типа данных следует помнить, что обработка числовых данных происходит быстрее строковых. Так как типы данных ENUM и SET имеют внутреннее числовое представление, им следует отдавать предпочтение перед другими видами строковых данных, если предоставляется такая возможность.

Типы фиксированной длины обрабатываются быстрее типов переменной длины, т. к. в последнем случае при частых удалениях и модификациях таблицы происходит ее фрагментация.

Показать весь текст
Заполнить форму текущей работой