Типы данных языка SQL, определенные стандартом. Типы данных sql


Типы данных SQL - Access

СУБД Microsoft Access поддерживает 13 основных типов данных SQL и нескольких их допустимых синонимов.

Основные типы данных перечислены в таблице.

Тип данных

Размер

Описание

BINARY

1 байт на символ

В таком поле могут храниться данные любого типа. Преобразование данных (например, в текст) не производится. От того, как вводятся данные в поле BINARY, зависит отображение выходных данных.

BIT

1 байт

Значения Yes и No, а также поля, содержащие только одно из двух значений.

TINYINT

1 байт

Целое число от 0 до 255.

MONEY

8 байт

Масштабируемое целое число в диапазоне от-922 337 203 685 477,5808 до 922 337 203 685 477,5807.

DATETIME(см. DOUBLE)

8 байт

Значение даты и времени, относящееся к годам с 100 по 9999.

UNIQUEIDENTIFIER

128 бит

Уникальный идентификационный номер, используемый для удаленного вызова процедур.

REAL

4 байта

Значение одиночной точности с плавающей запятой в диапазоне от -3,402823E38 до -1,401298E-45 для отрицательных значений и от 1,401298E-45 до 3,402823E38 для положительных значений и 0.

FLOAT

8 байт

Значение двойной точности с плавающей запятой в диапазоне от -1,79769313486232E308 до -4,94065645841247E-324 для отрицательных значений и от 4,94065645841247E-324 до 1,79769313486232E308 для положительных значений и 0.

SMALLINT

2 байта

Короткое целое число в диапазоне от -32 768 до 32 767.

INTEGER

4 байта

Длинное целое число в диапазоне от -2 147 483 648 до 2 147 483 647.

DECIMAL

17 байт

Точный числовой тип данных, включающий значения от 1028 - 1 до -1028 - 1. Можно определить как точность (1 - 28), так и масштаб (точность определена как 0). Точность и масштаб по умолчанию составляют 18 и 0 соответственно.

TEXT

2 байта на символ (см. примечание)

От 0 до 2,14 ГБ.

IMAGE

Любой

От 0 до 2,14 ГБ. Используется для объектов OLE.

CHARACTER

2 байта на символ (см. примечание)

От 0 до 255 знаков.

Примечание: Символы в полях, определенных как TEXT (MEMO) или CHAR (TEXT(n) с заданной длиной), сохраняются в формате представления Юникода. Для сохранения каждого символа Юникода требуется два байта. Для существующих баз данных Microsoft Access, содержащих преимущественно символьные данные, это может привести к почти двукратному увеличению размера при преобразовании в формат Microsoft Access. Однако представление Юникода для многих наборов символов, которые прежде назывались однобайтовыми кодировками (SBCS), можно без труда сжать до одного байта на символ. Если для столбца с типом данных CHAR задать атрибут COMPRESSION, при сохранении данные автоматически будут сжиматься, а при извлечении из столбца — возвращаться в исходное состояние.

support.office.com

SQL (типы данных): таблица

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

Что такое тип данных?

Сегодня существует сразу несколько определений, которые объясняют сущность понятия «тип данных». Каждое из них имеет один общий смысл. Условно тип данных можно обозначить как группу данных, характеризуемую ее значениями – числовыми, символьными и так далее– а также операциями, которые могут применяться по отношению к рассматриваемым значениям. Сфера использования различных типов данных очень многогранна. Данные могут использоваться не только для хранения информации, но также и при программировании для решения поставленных задач. При разработке программ большое распространение получила практика использования собственных типов данных с определенным набором операций. В основе пользовательской информации всегда лежат основные типы данных. Стандарт SQL основан на использовании наиболее распространенных типов информации, однако с рядом определенных дополнений.

Типы данных: классификация

Группировка данных по типу появилась достаточно давно. Она была вызвана необходимостью структурирования всех объемов информации для обеспечения удобства их обработки. Сегодня в основе всех существующих типов данных лежат два базовых: символьный и числовой. На основе этих данных была разработана современная классификация, которая включает в себя указатели, целочисленный, логический, числовой с плавающей запятой и строковый тип информации. Все вышеперечисленной полностью охватывает классификация SQL. Однако для современных систем управления базами данных существуют специальные надстройки. К ним относятся MySQL и Oracle.

Базовые типы данных

Типы данных, которые используются при создании атрибутов таблиц, отвечающих стандартам языка SQL, можно поделить на 4 класса: строковые значения, дроби, целочисленные значения, значения времени и даты.

Строковый тип данных

Первый тип данных позволяет хранить любую информацию, представленную в виде символов. В данном случае речь идет о специальных символах и буквах, которые в совокупности будут обрабатываться в любом запросе SQL как строки. Ниже представлены типы данных, которые образуют первую группу:

— CHAR (size) – данный тип используется для хранения строк. Указанный в скобках параметр позволяет фиксировать длину хранимой строки. Для строки можно задать максимальный размер в байтах – 255.

— VAR CHAR (size) — по аналогии с предыдущим типом данный тип позволяет хранить строки, длина которых не превышает 255 символов. Основное отличие данного типа от CHAR состоит в том, что здесь для хранения значения данного типа выделяется требуемое количество памяти. Таким образом, для строки, которая состоит из 5 символов, будет нужно 6 байт памяти. В первом случае память для хранения значения будет выделена в соответствии с указанным параметром.

— TINY TEXT- данный тип применяется для хранения текстовой информации, объем которой не превышает 65535 символов.

— BLOB – этот тип аналогичен типу TEXT. Он позволяет сохранять в базе текстовую информацию, объем которой может составлять до 65 535 знаков. Однако на практике данный тип может использоваться для хранения рисунков, звуковой информации, электронных документов и прочего.

— MEDIUM TEXT – данный тип был разработан на основе типа TEXT. За счет увеличенного до 16777 215 символов размера данный тип позволяет хранить больше данных.

— MEDIU MBLOB – применяется для хранения в базе электронных документов, размер которых не превышает 16777215 символов.

— LONG TEXT – по функциональным возможностям аналогичен предыдущим типам данных, однако имеет объем памяти, увеличенный до4 Гб.

— LONG BLOB–дает возможность размещать в базе данных данные большого объема – 4294967295 символов.

— ENUM – это специальный тип данных, который используется для задания списка различных значений. Данный тип позволяет указать 65535 значений. Строки данного типа могут принимать только одно из всех значений, указанных во множестве. В случае, когда будет осуществляться добавление значений, отсутствующих в заданном списке, в таблицу будут записаны пустые значения.

— SET – этот тип данных задает множество допустимых значений. В отличие от предыдущего типа, он используется для содержания 64-параметров, которые могут быть проинициализированы несколькими элементами заданных аргументов.

Таблица с дробными типами данных

Дробный тип данных SQL применяется для хранения чисел с плавающей точкой. Как правило, на практике данные такого типа характеризуют различные финансовые показатели. В зависимости от нужной точности можно использовать один из нескольких представленных ниже типов.

-FLOAT (sized) – применяется для хранения дробных чисел указываемой точности – d;

— DOUBLE (sized) – применяется для хранения дробей с двоичной точностью;

— DECIMAL (size, d) – применяется для хранения дробных значений в виде строк. Применяется в банковских расчетах, где точность дробной части может достигать 8-ми или 10-ти знаков.

Два первых типа в данной области не могут быть задействованы. Хранение финансовых показателей в форме строк может значительно облегчить решение многих практических задач. При проведении операций и решении финансовых вопросов SQL-преобразование типов данных имеет большое значение. Разработчикам обязательно следует учитывать тип хранения информации и способы обработки, чтобы данные постоянно оставались неизменными.

Данные целочисленного типа

Отдельной группой чисел, образующей один из основных классов, являются целые числа. Целочисленные типы данных основаны на использовании базового типа INTEGER с некоторым расширением свойств.

  • INT (size) – отвечает за хранение целочисленных данных в диапазоне [-231;231-1].
  • TINYINT (size) – применяется для хранения чисел в диапазоне от -128 до 127.
  • SMALLINT (size) – характеризуется несколько увеличенным диапазоном хранимых данных от -32768 до 32767.
  • MEDIUMINT (size) – применяется для хранения чисел размерностью от -223 до 223-1.
  • BIGINT (size) – охватывает диапазон целочисленных значений от -263 до 263-1.

Если выбрать правильный тип данных, то можно существенно сэкономить память и при этом уменьшить затраты серверного времени при выполнении необходимых SQL-запросов. Типы данных и их диапазон определяют количество требуемой памяти для хранения. Разработчикам необходимо помнить, что использование больших диапазонов для атрибутов может повлечь за собой увеличение затрат на память. Следует четко анализировать решаемые задачи и выявлять ситуации, в которых известен примерный диапазон данных и определено условие использования чисел со знаком. Если используется небольшой диапазон используемых аргументов, а все числа будут положительными, то корректнее будет воспользоваться беззнаковым типом, для которого предназначен атрибут UNSIGNED.

Типы данных времени и даты

Типы данных времени и даты представляют большой интерес при изучении основ SQL. Использование указанных ниже типов может предоставить дополнительные преимущества в случае разработки систем, работа которых напрямую зависит от временных показателей.

  • DATE – основное предназначение данного типа заключается в хранении даты в формате «год-месяц-день». Значения обычно разделяются через «-». Однако иногда в качестве разделителя могут быть задействованы любые символы, за исключением цифр.
  • TIME – дает возможность заносить временные значения в ячейку таблицы. Значения задаются форматом «hh:mm:ss».
  • DATE TIME – этот тип объединяет в себе функции двух предыдущих. Формат хранения данных в этом случае выглядит следующим образом «yyyy-mm-dd: hh:mm:ss».
  • TIME STAMP – данный тип сохраняет дату и время, исчисляемые количеством секунд, которые прошли начиная с полуночи 01.01.1970 года до заданного значения.
  • YEAR (M) – применяется для хранения годовых значений в двух- или четырехзначном формате.

Что еще следует знать? Все представленные выше типы данных были систематизированы компанией Microsoft. Ей также более подробно были разработаны типы данных SQL. Так, к примеру, формой было расписано, какой объем памяти выделяется при использовании каждого типа данных. После изучения всей имеющейся информации разработчикам должно стать проще спроектировать структуру базы и таблиц исходя из аппаратных возможностей сервера.

NULL- специальный указатель

В некоторых случаях при заполнении базы данных возникает ситуация, когда при добавлении в таблицу записи отсутствует необходимость вносить информацию во все столбцы. Для этого необходимо использовать специальный указатель пустого назначения или NULL. Он в качестве вспомогательного средства применяет язык SQL. Типы данных столбцов, которые необязательно должны заполняться, указываются с оператором, разрешающим включение пустых значений, при создании таблиц. Также оператор NULL при использовании дополнительной приставки NOT может быть использован для указания обязательного заполнения всех значений. У указателя NULL нет типа. Он просто указывает в таблицах баз данных на пустое значение. По этой причине он вполне может быть скомбинирован с одним из представленных выше типов данных.

computerologia.ru

Типы данных языка SQL, определенные стандартом

⇐ ПредыдущаяСтр 4 из 6Следующая ⇒

Данные – это совокупная информация, хранимая в базе данных в виде одного из нескольких различных типов. С помощью типов данных устанавливаются основные правила для данных, содержащихся в конкретном столбце таблицы, в том числе размер выделяемой для них памяти.

В языке SQL имеется шесть скалярных типов данных, определенных стандартом. Их краткое описание представлено в таблице.

Тип данных Объявления
Символьный CHAR | VARCHAR
Битовый BIT | BIT VARYING
Точные числа NUMERIC | DECIMAL | INTEGER | SMALLINT
Округленные числа FLOAT | REAL | DOUBLE PRECISION
Дата/время DATE | TIME | TIMESTAMP
Интервал INTERVAL

Символьные данные состоят из последовательности символов, входящих в определенный создателями СУБД набор символов. Поскольку наборы символов являются специфическими для различных диалектов языка SQL, перечень символов, которые могут входить в состав значений данных символьного типа, также зависит от конкретной реализации. Чаще всего используются наборы символов ASCII и EBCDIC. Для определения данных символьного типа используется следующий формат:

<символьный_тип>::=

{ CHARACTER [ VARYING][длина] | [CHAR |

VARCHAR][длина]}

Битовый тип данных используется для определения битовых строк, т.е. последовательности двоичных цифр (битов), каждая из которых может иметь значение либо 0, либо 1. Данные битового типа определяются при помощи следующего формата:

<битовый_тип>::=

BIT [VARYING][длина]

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

<фиксированный_тип>::=

{NUMERIC[точность[,масштаб]|{DECIMAL|DEC}

[точность[, масштаб]

| {INTEGER |INT}| SMALLINT}

Тип округленных чисел применяется для описания данных, которые нельзя точно представить в компьютере, в частности действительных чисел. Округленные числа или числа с плавающей точкой представляются в научной нотации, при которой число записывается с помощью мантиссы, умноженной на определенную степень десяти (порядок), например: 10Е3, +5.2Е6, -0.2Е-4. Для определения данных вещественного типаиспользуется формат:

<вещественный_тип>::=

{ FLOAT [точность]| REAL |

DOUBLE PRECISION}

Тип данных "дата/время" используется для определения моментов времени с некоторой установленной точностью. Стандарт SQL поддерживает следующий формат:

<тип_даты/времени>::=

{DATE | TIME[точность][WITH TIME ZONE]|

TIMESTAMP[точность][WITH TIME ZONE]}

Тип данных DATE используется для хранения календарных дат, включающих поля YEAR (год), MONTH (месяц) и DAY (день). Тип данных TIME – для хранения отметок времени, включающих поля HOUR (часы), MINUTE (минуты) и SECOND (секунды). Тип данных TIMESTAMP – для совместного хранения даты и времени.

Таблицы

Все данные в SQL содержатся в объектах, называемых таблицами. Таблицы представляют собой совокупность каких-либо сведений об объектах, явлениях, процессах реального мира. Никакие другие объекты не хранят данные, но они могут обращаться к данным в таблице. Таблицы в SQL имеют такую же структуру, что и таблицы всех других СУБД и содержат:

  • cтроки; каждая строка (или запись) представляет собой совокупность атрибутов (свойств) конкретного экземпляра объекта;
  • cтолбцы; каждый столбец (поле) представляет собой атрибут или совокупность атрибутов. Поле строки является минимальным элементом таблицы. Каждый столбец в таблице имеет определенное имя, тип данных и размер.

Ограничения целостности

Ограничения целостности – механизм, обеспечивающий автоматический контроль соответствия данных установленным условиям (или ограничениям). Ограничения целостности имеют приоритет над триггерами, правилами и значениями по умолчанию. К ограничениям целостности относятся: ограничение на значение NULL, проверочные ограничения, ограничение уникальности (уникальный ключ), ограничение первичного ключа и ограничение внешнего ключа. Последние три ограничения тесно связаны с понятием ключей.

Структурированный язык запросов SQL, операторы манипулирования данными, курсор.

Курсор

Запрос к реляционной базе данных обычно возвращает несколько рядов (записей) данных, но приложение за один раз обрабатывает лишь одну запись. Даже если оно имеет дело одновременно с несколькими рядами (например, выводит данные в форме электронных таблиц), их количество по-прежнему ограничено. Кроме того, при модификации, удалении или добавлении данных рабочей единицей является ряд. В этой ситуации на первый план выступает концепция курсора, и в таком контексте курсор – указатель на ряд.

Курсор в SQL – это область в памяти базы данных, которая предназначена для хранения последнего оператора SQL. Если текущий оператор – запрос к базе данных, в памяти сохраняется и строка данных запроса, называемая текущим значением, или текущей строкой курсора. Указанная область в памяти поименована и доступна для прикладных программ.

Обычно курсоры используются для выбора из базы данных некоторого подмножества хранимой в ней информации. В каждый момент времени прикладной программой может быть проверена одна строка курсора. В соответствии со стандартом SQL при работе с курсорами можно выделить следующие основные действия:

  • создание или объявление курсора;
  • открытие курсора , т.е. наполнение его данными, которые сохраняются в многоуровневой памяти;
  • выборка из курсора и изменение с его помощью строк данных;
  • закрытие курсора, после чего он становится недоступным для пользовательских программ;
  • освобождение курсора, т.е. удаление курсора как объекта, поскольку его закрытие необязательно освобождает ассоциированную с ним память.

В некоторых случаях применение курсора неизбежно. Однако по возможности этого следует избегать и работать со стандартными командами обработки данных: SELECT, UPDATE, INSERT, DELETE. Помимо того, что курсоры не позволяют проводить операции изменения над всем объемом данных, скорость выполнения операций обработки данных посредством курсора заметно ниже, чем у стандартных средств SQL.

Манипулирование данными

Как и в языке SQL/89, в SQL/92 определены два набора операторов манипулирования данных. Операторы первого набора связаны с курсором, и для них осмысленно использование только в режиме встраивания в некоторый традиционный язык программирования. Операторы второго набора предназначены для индивидуального использования и могут применяться как в режиме встраивания, так и в интерактивном режиме.

Одиночные операторы манипулирования данными

Оператор выборки SELECT [ALL | DISTINCT] <select name>

Оператор поискового удаления DELETE FROM <table name> WHERE [<search condition>]

Оператор поисковой модификации UPDATE <table name> SET <set clause: searched>

Операторы окончания транзакции – текущая транзакция может быть завершена успешно (с фиксацией в базе данных произведенных изменений) путем выполнения оператора COMMIT WORK или аварийно (с удалением из базы данных изменений, произведенных текущей транзакцией) путем выполнения оператора ROLLBACK WORK. При выполнении любого из этих операторов производится принудительное закрытие всех курсоров, открытых к моменту выполнения оператора завершения транзакции.

 

Язык запросов SQL. Тип связывания

Типы связывания:

1. Связывание по равенству EQUIT JOINS

2. Естественное связывание NATURAL JOINS

3. Связывание по неравенству NON – EQUI JOINS

4. Внешнее связывание OUTER JOINS

5. Рекурсивное связывание SELF JOINS

 

Связывание по равенству EQUIT JOINS

Самый простой тип. Используется чаще всего. Связывание по равенству также называется внутренним связыванием (INNER JOIN). При связывании по равенству таблицы связываются по общему столбцу, который в каждой таблице является ключевым.

 

Читайте также:

lektsia.com

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

Типы данных MySQL

Последнее обновление: 25.05.2018

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

MySQL предоставляет следующие типы данных, которые можно разбить на ряд групп.

Символьные типы
  • CHAR: представляет стоку фиксированной длины.

    Длина хранимой строки указыватся в скобках, например, CHAR(10) - строка из десяти символов. И если в таблицу в данный столбец сохраняется строка из 6 символов (то есть меньше установленной длины в 10 символов), то строка дополняется 4 проблеми и в итоге все равно будет занимать 10 символов

  • VARCHAR: представляет стоку переменной длины.

    Длина хранимой строки также указыватся в скобках, например, VARCHAR(10). Однако в отличие от CHAR хранимая строка будет занимать именно столько места, скольо необходимо. Например, если определеная длина в 10 символов, но в столбец сохраняется строка в 6 символов, то хранимая строка так и будет занимать 6 символов плюс дополнительный байт, который хранит длину строки.

Начиная с MySQL 5.6 типы CHAR и VARCHAR по умолчанию используют кодировку UTF-8, которая позволяет использовать до 3 байт для хранения символа в заивисимости от языка ( для многих европейских языков по 1 байту на символ, для ряда восточно-европейских и ближневосточных - 2 байта, а для китайского, яполнского, корейского - по 3 байта на символ).

Ряд дополнительных типов данных представляют текст неопределенной длины:

  • TINYTEXT: представляет текст длиной до 255 байт.

  • TEXT: представляет текст длиной до 65 КБ.

  • MEDIUMTEXT: представляет текст длиной до 16 МБ

  • LARGETEXT: представляет текст длиной до 4 ГБ

Числовые типы
  • TINYINT: представляет целые числа от -127 до 128, занимает 1 байт

  • BOOL: фактически не представляет отдельный тип, а является лишь псевдонимом для типа TINYINT(1) и может хранить два значения 0 и 1. Однако данный тип может также в качестве значения принимать встроенные константы TRUE (представляет число 1) и FALSE (предоставляет число 0).

    Также имеет псевдоним BOOLEAN.

  • TINYINT UNSIGNED: представляет целые числа от 0 до 255, занимает 1 байт

  • SMALLINT: представляет целые числа от -32768 до 32767, занимает 2 байтa

  • SMALLINT UNSIGNED: представляет целые числа от 0 до 65535, занимает 2 байтa

  • MEDIUMINT: представляет целые числа от -8388608 до 8388607, занимает 3 байта

  • MEDIUMINT UNSIGNED: представляет целые числа от 0 до 16777215, занимает 3 байта

  • INT: представляет целые числа от -2147483648 до 2147483647, занимает 4 байта

  • INT UNSIGNED: представляет целые числа от 0 до 4294967295, занимает 4 байта

  • BIGINT: представляет целые числа от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807, занимает 8 байт

  • BIGINT UNSIGNED: представляет целые числа от 0 до 18 446 744 073 709 551 615, занимает 8 байт

  • DECIMAL: хранит числа с фиксированной точностью. Данный тип может принимать два параметра precision и scale: DECIMAL(precision, scale).

    Параметр precision представляет максимальное количество цифр, которые может хранить число. Это значение должно находиться в диапазоне от 1 до 65.

    Параметр scale представляет максимальное количество цифр, которые может содержать число после запятой. Это значение должно находиться в диапазоне от 0 до значения параметра precision. По умолчанию оно равно 0.

    Например, в определении следующего столбца:

    salary DECIMAL(5,2)

    Число 5 - precision, а число 2 - scale, поэтому данный столбец может хранить значения из диапазона от -999.99 до 999.99.

    Размер данных в байтах для DECIMAL зависит от хранимого значения.

    Данный тип также имеет псевдонимы NUMERIC, DEC, FIXED.

  • FLOAT: хранит дробные числа с плавающей точкой одинарной точности от -3.4028 * 1038 до 3.4028 * 1038, занимает 4 байта

    Может принимать форму FLOAT(M,D), где M - общее количество цифр, а D - количество цифр после запятой

    .
  • DOUBLE: хранит дробные числа с плавающей точкой двойной точности от -1.7976 * 10308 до 1.7976 * 10308, занимает 8 байт. Также может принимать форму DOUBLE(M,D), где M - общее количество цифр, а D - количество цифр после запятой.

    Данный тип также имеет псевдонимы REAL и DOUBLE PRECISION, которые можно использовать вместо DOUBLE.

Типы для работы с датой и временем
  • DATE: хранит даты с 1 января 1000 года до 31 деабря 9999 года (c "1000-01-01" до "9999-12-31"). По умолчанию для хранения используется формат yyyy-mm-dd. Занимает 3 байта.

  • TIME: хранит время от -838:59:59 до 838:59:59. По умолчанию для хранения времени применяется формат "hh:mm:ss". Занимает 3 байта.

  • DATETIME: объединяет время и дату, диапазон дат и времени - с 1 января 1000 года по 31 декабря 9999 года (с "1000-01-01 00:00:00" до "9999-12-31 23:59:59"). Для хранения по умолчанию используется формат "yyyy-mm-dd hh:mm:ss". Занимает 8 байт

  • TIMESTAMP: также хранит дату и время, но в другом диапазоне: от "1970-01-01 00:00:01" UTC до "2038-01-19 03:14:07" UTC. Занимает 4 байта

  • YEAR: хранит год в виде 4 цифр. Диапазон доступных значений от 1901 до 2155. Занимает 1 байт.

Тип Date может принимать даты в различных форматах, однако непосредственно для хранения в самой бд даты приводятся к формату "yyyy-mm-dd". Некоторые из принимаемых форматов:

Для времени тип Time использует 24-часовой формат. Он может принимать время в различных форматах:

Примеры значений для типов DATETIME и TIMESTAMP:

  • 2018-05-25 19:21:34
  • 2018-05-25 (хранимое значение 2018-05-25 00:00:00)
Составные типы
  • ENUM: хранит одно значение из списка допустимых значений. Занимает 1-2 байта

  • SET: может хранить несколько значений (до 64 значений) из некоторого списка допустимых значений. Занимает 1-8 байт.

Бинарные типы
  • TINYBLOB: хранит бинарные данные в виде строки длиной до 255 байт.

  • BLOB: хранит бинарные данные в виде строки длиной до 65 КБ.

  • MEDIUMBLOB: хранит бинарные данные в виде строки длиной до 16 МБ

  • LARGEBLOB: хранит бинарные данные в виде строки длиной до 4 ГБ

metanit.com

Типы данных MySQL | Oracle PL/SQL •MySQL •SQL Server

Ниже приведен список типов данных, доступных в MySQL, который включает в себя string, numeric, date/time, и типыданных large (больших объектов).

String типы данных

Ниже перечислены типы данных String в MySQL:

Синтаксис Максимальный размер Пояснение
CHAR(size) Размер 255 символов Где размер — количество сохраняемых символов. Строки с фиксированной длиной. Пространство справа дополнено на равное количество символов.
VARCHAR(size) Размер 255 символов Где размер — количество сохраняемых символов. Строка переменной длины.
TINYTEXT(size) Размер 255 символов Где размер — количество сохраняемых символов.
TEXT(size) Размер 65535 символов Где размер — количество сохраняемых символов.
MEDIUMTEXT(size) Размер 16777215 символов. Где размер — количество сохраняемых символов.
LONGTEXT(size) Размер 4Гб или 4294967295 символов Где размер — количество сохраняемых символов.
BINARY(size) Размер 255 символов Где размер — количество двоичных символов для хранения. Строки с фиксированной длиной. Пространство справа дополнено на равное количество символов. (Представлено в MySQL 4.1.2)
VARBINARY(size) Размер 255 символов. Где размер — количество сохраняемых символов. Строка переменной длины. (Представлено в MySQL 4.1.2)

Numeric типы данных

Ниже перечислены числовые типы данных в MySQL:

Синтаксис Максимальный размер Пояснение
BIT Очень маленькое целочисленное значение, эквивалентное TINYINT (1). Подписанные значения варьируются от -128 до 127. Беззнаковые значения варьируются от 0 до 255.
TINYINT(m) Очень маленькое целочисленное значение. Подписанные значения варьируются от -128 до 127. Беззнаковые значения варьируются от 0 до 255.
SMALLINT(m) Малое целочисленное значение. Подписанные значения варьируются от -32768 до 32767. Беззнаковые значения варьируются от 0 до 65535.
MEDIUMINT(m) Среднее целочисленное значение. Подписанные значения варьируются от -8388608 до 8388607. Беззнаковые значения варьируются от 0 до 16777215.
INT(m) Стандартное целочисленное значение. Подписанные значения варьируются от -2147483648 до 2147483647. Беззнаковые значения варьируются от 0 до 4294967295.
INTEGER(m) Стандартное целочисленное значение. Подписанные значения варьируются от -2147483648 до 2147483647. Беззнаковые значения варьируются от 0 до 4294967295. Это синоним типа данных INT.
BIGINT(m) Большое целочисленное значение. Подписанные значения варьируются от -9223372036854775808 до 9223372036854775807. Беззнаковые значения варьируются от 0 до 18446744073709551615.
DECIMAL(m,d) Число с фиксированной точки. m по умолчанию — 10, если не указано. d по умолчанию равно 0, если не указано. Где m — всего цифр, а d — количество цифр после десятичного знака.
DEC(m,d) Число с фиксированной точки. m по умолчанию — 10, если не указано. d по умолчанию равно 0, если не указано. Где m — всего цифр, а d — количество цифр после десятичного знака. Это синоним типа DECIMAL.
NUMERIC(m,d) Число с фиксированной точки. m по умолчанию — 10, если не указано. d по умолчанию равно 0, если не указано. Где m — всего цифр, а d — количество цифр после десятичного знака. Это синоним типа DECIMAL.
FIXED(m,d) Число с фиксированной точки. m по умолчанию — 10, если не указано. d по умолчанию равно 0, если не указано. Где m — всего цифр, а d — количество цифр после десятичного знака. (Представлено в MySQL 4.1) Это синоним типа DECIMAL.
FLOAT(m,d) Число с плавающей точкой с одиночной точностью. Где m — всего цифр, а d — количество цифр после десятичного знака.
DOUBLE(m,d) Число с плавающей точкой с двойной точностью. Где m — всего цифр, а d — количество цифр после десятичного знака. Это синоним типа данных DOUBLE.
DOUBLE PRECISION(m,d) Число с плавающей точкой с двойной точностью. Где m — всего цифр, а d — количество цифр после десятичного знака.
REAL(m,d) Число с плавающей точкой с двойной точностью. Где m — всего цифр, а d — количество цифр после десятичного знака. Это синоним типа данных DOUBLE.
FLOAT(p) Число с плавающей точкой. Где p — точность.
BOOL Синонимы TINYINT (1) Рассматривается как тип данных типа boolean, где значение 0 считается FALSE, а любое другое значение считается TRUE.
BOOLEAN Синонимы TINYINT (1) Рассматривается как тип данных типа boolean, где значение 0 считается FALSE, а любое другое значение считается TRUE.

Date/Time типы данных

Ниже приведены типы данных дата / время в MySQL:

Синтаксис Максимальный размер Пояснение
DATE Значения варьируются от ‘1000-01-01’ до ‘9999-12-31’. Отображается как ‘YYYY-MM-DD’.
DATETIME Значения варьируются от ‘1000-01-01 00:00:00’ до ‘9999-12-31 23:59:59’. Отображается как ‘YYYY-MM-DD HH:MM:SS’.
TIMESTAMP(m) Значения варьируются от ‘1970-01-01 00:00:01’ UTC до ‘2038-01-19 03:14:07’ UTC. Отображается как ‘YYYY-MM-DD HH:MM:SS’.
TIME Значения варьируются от ‘-838: 59: 59’ до ‘838: 59: 59’. Отображается как ‘HH:MM:SS.
YEAR[(2|4)] Значение года как 2 цифры или 4 цифры. Значение по умолчанию — 4 цифры.

Large Object (LOB) типы данных

Ниже перечислены типы данных большого объекта (LOB) в MySQL:

Синтаксис Максимальный размер Пояснение
TINYBLOB Максимальный размер 255 байт.
BLOB(size) Максимальный размер 65 535 байт. Где размер — количество хранимых символов (размер является необязательным и был введен в MySQL 4.1)
MEDIUMBLOB Максимальный размер 16 777 215 байт.
LONGTEXT Максимальный размер 4 ГБ или 4 294 967 295 символов.
Рубрика: Программирование MySQL | Permalink

oracleplsql.ru

Типы данных, используемые в базе данных MySQL — Справочник Web-языков

Материал из Справочник Web-языков

Целые числа

Общий вид указания типа данных:

префиксINT [UNSIGNED]

Необязательный флаг UNSIGNED задает, что будет создано поле для хранения без знаковых чисел (больших или равных 0).

TINYINT Может хранить числа от -128 до 127
SMALLINT Диапазон от -32 768 до 32 767
MEDIUMINT Диапазон от -8 388 608 до 8 388 607
INT Диапазон от -2 147 483 648 до 2 147 483 647
BIGINT Диапазон от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807

Дробные числа

Точно так же, как целые числа подразделяются в MySQL на несколько разновидностей, MySQL поддерживает и несколько типов дробных чисел.

В общем виде они записываются так:

ИмяТипа[(length, decimals)] [UNSIGNED]

Здесь length - количество знакомест (ширина поля), в которых будет размещено дробное число при его передаче.

decimals - количество знаков после десятичной точки, которые будут учитываться.

UNSIGNED - задает беззнаковые числа. FLOAT Число с плавающей точкой небольшой точности. DOUBLE Число с плавающей точкой двойной точности. REAL Синоним для DOUBLE. DECIMAL Дробное число, хранящееся в виде строки. NUMERIC Синоним для DECIMAL.

Строки

Строки представляют собой массивы символов. Обычно при поиске по текстовым полям по запросу SELECT не берется в рассмотрение регистр символов, т.е. строки "Вася" и "ВАСЯ" считаются одинаковыми. Кроме того, если база данных настроена на автоматическую перекодировку текста при его помещении и извлечении, эти поля будут храниться в указанной вами кодировке.

Для начала ознакомимся с типом строки, которая может хранить не более length символов, где length принадлежит диапазону от 1 до 255.

VARCHAR (length) [BINARY]

При занесении некоторого значения в поле такого типа из него автоматически вырезаются концевые пробелы. Если указан флаг BINARY, то при запросе SELECT строка будет сравниваться с учетом регистра.

VARCHAR Может хранить не более 255 символов.
TINYTEXT Может хранить не более 255 символов.
TEXT Может хранить не более 65 535 символов.
MEDIUMTEXT Может хранить не более 16 777 215 символов.
LONGTEXT Может хранить не более 4 294 967 295 символов.

Чаще всего применяется тип TEXT, но если вы не уверены, что данные не будут превышать 65 536 символов, используйте LONGTEXT.

Бинарные данные

Бинарные данные - это почти то же самое, что и данные в формате TEXT, но только при поиске в них учитывается регистр символов.

TINYBLOB Может хранить не более 255 символов.
BLOB Может хранить не более 65 535 символов.
MEDIUMBLOB Может хранить не более 16 777 215 символов.
LONGBLOB Может хранить не более 4 294 967 295 символов.

BLOD-данные не перекодируются автоматически, если при работе с установленным соединением включена возможность перекодирования текста "на лету".

Дата и время

MySQL поддерживает несколько типов полей, специально приспособленных для хранения дат и времени в различных форматах.

DATE Дата в формате ГГГГ-ММ-ДД
TIME Время в формате ЧЧ:ММ:СС
DATETIME Дата и время в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС
TIMESTAMP Дата и время в формате timestamp. Однако при получении значения поля оно отображается не в формате timestamp, а в виде ГГГГММДДЧЧММСС, что сильно умаляет преимущества его использования в PHP

www.spravkaweb.ru