Типы данных SQL

Типы данных и диапазоны, используемые Microsoft Access, MySQL и SQL Server.

Типы данных Microsoft Access

Тип данных Описание Хранить
Text Для текста или комбинации текста и чисел. Максимально 255 символов.  
Memo

Memo используется для большего количества текста. Максимально хранит 65,536 символов.

Комментарий: Memo-поле не подлежит сортировке. Однако они могут быть搜омыми.

 
Byte Разрешает числа от 0 до 255. 1 байт
Integer Разрешает числа между -32,768 и 32,767. 2 байта
Long Разрешает все числа между -2,147,483,648 и 2,147,483,647. 4 байта
Single Одинарная точность. Обрабатывает большинство десятичных чисел. 4 байта
Double Двойная точность. Обрабатывает большинство десятичных чисел. 8 байтов
Валюта

Для валюты. Поддерживает 15 знаков после запятой, включая 4 знака после запятой.

Совет: Вы можете выбрать валюту какой страны.

8 байтов
AutoNumber Поле AutoNumber автоматически назначает номер каждому записью, обычно начинается с 1. 4 байта
Дата/Время Для даты и времени 8 байтов
Да/Нет

Логическое поле, которое можно отображать как Да/Нет, True/False или Вкл/Выкл.

В коде используйте константы True и False (эквивалентно 1 и 0)

Комментарий: В поле Yes/No значение Null не допускается

1 бит
OLE Объект Может хранить изображения, аудио, видео или другие BLOBs (Binary Large OBjects) До 1 ГБ
Гиперлинк Содержит ссылки на другие файлы, включая веб-страницы.  
Мастер выбора Позволяет создать список из вариантов, которые можно выбрать из списка. 4 байта

Типы данных MySQL

В MySQL есть три основных типа: текст, числа и типы даты/времени.

Тип текста:

Тип данных Описание
CHAR(DECIMAL() Сохранение строк фиксированной длины (может содержать символы, цифры и спецсимволы). Укажите длину строки в скобках. Максимально 255 символов.
VARCHAR(DECIMAL()

Сохранение строк переменной длины (может содержать символы, цифры и спецсимволы). Укажите максимальную длину строки в скобках. Максимально 255 символов.

注释:如果值的长度大于 255,则被转换为 TEXT 类型。

TINYTEXT Хранит строки максимальной длиной 255 символов.
TEXT Хранит строки максимальной длиной 65,535 символов.
BLOB Используется для BLOBs (Binary Large OBjects). Хранит до 65,535 байт данных.
MEDIUMTEXT Хранит строки максимальной длиной 16,777,215 символов.
MEDIUMBLOB Используется для BLOBs (Binary Large OBjects). Хранит до 16,777,215 байт данных.
LONGTEXT Хранит строки максимальной длиной 4,294,967,295 символов.
LONGBLOB Используется для BLOBs (Binary Large OBjects). Хранит до 4,294,967,295 байт данных.
ENUM(x,y,z, и т.д.)

Позволяет вводить список возможных значений. В списке ENUM можно указать до 65535 значений. Если вставляемое значение не существует в списке, вставляется пустое значение.

Комментарий: эти значения хранятся в порядке ввода. Возможные значения можно вводить в этом формате: ENUM('X','Y','Z')

Тип Number:

Тип данных Описание
SETDECIMAL() Как и ENUM, SET может содержать до 64 элементов списка, но SET может хранить более одного значения.
SMALLINT(DECIMAL() -32768 до 32767 обычные. 0 до 65535 беззнаковые*. Максимальное количество знаков указывается в скобках.
MEDIUMINT(DECIMAL() -8388608 до 8388607 обычные. 0 до 16777215 беззнаковые*. Максимальное количество знаков указывается в скобках.
INT(DECIMAL() -2147483648 до 2147483647 обычные. 0 до 4294967295 беззнаковые*. Максимальное количество знаков указывается в скобках.
BIGINT(DECIMAL() -9223372036854775808 до 9223372036854775807 обычные. 0 до 18446744073709551615 беззнаковые*. Максимальное количество знаков указывается в скобках.
FLOAT(DECIMAL(,size) Маленькие числа с плавающей запятой. Максимальное количество знаков указывается в скобках. Максимальное количество знаков справа от запятой указывается в параметре d.
DOUBLE(DECIMAL(,size) DOUBLE(
Большое число с плавающей запятой. В скобках указывается максимальное количество знаков. В параметре d указывается максимальное количество знаков справа от точки.DECIMAL(,size) d

Тип DOUBLE хранится как строка и позволяет фиксированную точку.

Тип данных Date:

Тип данных Описание
* Эти целочисленные типы имеют дополнительный параметр UNSIGNED. Обычно целые числа могут быть положительными или отрицательными. Если добавить�性трибут UNSIGNED, то диапазон начнется с 0, а не с какого-либо отрицательного числа.

DATE()

Дата. Формат: YYYY-MM-DD

Комментарий: Поддерживаемый диапазон от '1000-01-01' до '9999-12-31'

DATETIME()

* Сочетание даты и времени. Формат: YYYY-MM-DD HH:MM:SS

Комментарий: Поддерживаемый диапазон от '1000-01-01 00:00:00' до '9999-12-31 23:59:59'

TIMESTAMP()

* Времяштамп. Значение TIMESTAMP хранится в описании от Юникс-эры ('1970-01-01 00:00:00' UTC) до сегодняшнего дня. Формат: YYYY-MM-DD HH:MM:SS

TIME()

Время. Формат: HH:MM:SS

Комментарий: Поддерживаемый диапазон от '-838:59:59' до '838:59:59'

YEAR()

Год в формате 2 или 4 знака.

Комментарий: Допустимые значения для формата с 4 знаками: 1901 до 2155. Допустимые значения для формата с 2 знаками: 70 до 69, что означает от 1970 до 2069.

* Даже если DATETIME и TIMESTAMP возвращают одинаковый формат, они работают по-разному. В запросах INSERT или UPDATE TIMESTAMP автоматически устанавливает текущую дату и время. TIMESTAMP также принимает различные форматы, такие как YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD или YYMMDD.

Тип данных SQL Server

Строка символов: Character

Тип данных Описание Хранить
char(n) Строка фиксированной длины. Максимально 8,000 символов. n
varchar(n) Строка переменной длины. Максимально 8,000 символов.  
varchar(max) Строка переменной длины. Максимально 1,073,741,824 символов.  
text Строка переменной длины. Максимально 2GB символьных данных.  

Unicode строка:

Тип данных Описание Хранить
nchar(n) Фиксированного размера Unicode данные. Максимальный размер — 4,000 символов.  
nvarchar(n) Переменного размера Unicode данные. Максимальный размер — 4,000 символов.  
nvarchar(max) Переменного размера Unicode данные. Максимальный размер — 536,870,912 символов.  
ntext Переменного размера Unicode данные. Максимальный размер — 2 ГБ символов данных.  

Тип Binary:

Тип данных Описание Хранить
bit Разрешены 0, 1 или NULL  
binary(n) Фиксированного размера двоичные данные. Максимальный размер — 8,000 байтов.  
varbinary(n) Переменного размера двоичные данные. Максимальный размер — 8,000 байтов.  
varbinary(max) Переменного размера двоичные данные. Максимальный размер — 2 ГБ байтов.  
image Переменного размера двоичные данные. Максимальный размер — 2 ГБ.  

Тип Number:

Тип данных Описание Хранить
tinyint Разрешены все числа от 0 до 255. 1 байт
smallint Разрешены все числа от -32,768 до 32,767. 2 байта
int Разрешены все числа от -2,147,483,648 до 2,147,483,647. 4 байта
bigint Разрешены все числа между -9,223,372,036,854,775,808 и 9,223,372,036,854,775,807. 8 байтов
decimal(p,s)

Числа с фиксированной точкой и пропорцией. Разрешены числа от -10^38 +1 до 10^38 -1.

Параметр p указывает максимальное количество знаков, которое можно хранить (слева и справа от точки). Значение p должно быть в диапазоне от 1 до 38. Значение по умолчанию — 18.

Параметр s указывает максимальное количество позиций после запятой, которое может храниться справа от точки. Значение s должно быть в диапазоне от 0 до p. Значение по умолчанию — 0.

5-17 байтов
numeric(p,s)

Числа с фиксированной точкой и пропорцией. Разрешены числа от -10^38 +1 до 10^38 -1.

Параметр p указывает максимальное количество знаков, которое можно хранить (слева и справа от точки). Значение p должно быть в диапазоне от 1 до 38. Значение по умолчанию — 18.

Параметр s указывает максимальное количество позиций после запятой, которое может храниться справа от точки. Значение s должно быть в диапазоне от 0 до p. Значение по умолчанию — 0.

5-17 байтов
smallmoney Валютные данные между -214,748.3648 и 214,748.3647. 4 байта
money Валютные данные между -922,337,203,685,477.5808 и 922,337,203,685,477.5807. 8 байтов
float(n)

Числовые данные с плавающей точкой от -1.79E + 308 до 1.79E + 308.

Параметр n указывает, сохраняется ли это поле в 4 байта или 8 байтов. float(24) сохраняется в 4 байта, а float(53) сохраняется в 8 байтов. Значение по умолчанию для n — 53.

4 или 8 байт
real Числовые данные с плавающей точкой от -3.40E + 38 до 3.40E + 38. 4 байта

Тип данных Date:

Тип данных Описание Хранить
datetime От 1 января 1753 года до 31 декабря 9999 года, точность 3.33 миллисекунды. 8 байт
datetime2 От 1 января 1753 года до 31 декабря 9999 года, точность 100 нанoseconds. 6-8 байт
smalldatetime От 1 января 1900 года до 6 июня 2079 года, точность 1 минуты. 4 байта
date Хранить только дату. От 1 января 0001 года до 31 декабря 9999 года. 3 байта
time Хранить только время. Точность 100 нанoseconds. 3-5 байт
datetimeoffset Как datetime2, с добавлением времени зоны. 8-10 байт
timestamp Хранить уникальные числа, которые обновляются при создании или изменении строки. Timestamp основан на внутреннем часовом механизме и не соответствует реальному времени. В каждой таблице может быть только один переменная timestamp.  

Другие типы данных:

Тип данных Описание
sql_variant Хранить данные различных типов данных до 8000 байт, кроме text, ntext и timestamp.
uniqueidentifier Хранить глобальные идентификаторы (GUID).
xml Хранить данные в формате XML. Максимальный объем 2GB.
cursor Хранить ссылки на указатели, используемые для операций с базой данных.
table Хранить результаты для последующей обработки.