Логотип schoolsw3.com
Учебники Справочники Упражнения КАК? Меню
Создать
Редактор Поддержка Форум

×
Учебники
Справочники
Упражнения
Пожертвовать Обновление Реклама Видео Магазин

SQL Учебник

SQL ГЛАВНАЯ SQL ВВЕДЕНИЕ SQL СИНТАКСИС SQL SELECT SQL SELECT DISTINCT SQL WHERE SQL ORDER BY SQL AND SQL OR SQL NOT SQL INSERT INTO SQL NULL ЗНАЧЕНИЕ SQL UPDATE SQL DELETE SQL SELECT TOP SQL MIN() и MAX() SQL COUNT(), AVG() и ... SQL LIKE SQL ЗНАКИ SQL IN SQL BETWEEN SQL ПСЕВДОНИМЫ SQL JOIN SQL INNER JOIN SQL LEFT JOIN SQL RIGHT JOIN SQL FULL OUTER JOIN SQL SELF JOIN SQL UNION SQL GROUP BY SQL HAVING SQL EXISTS SQL ANY и ALL SQL SELECT INTO SQL INSERT INTO SELECT SQL CASE SQL ФУНКЦИИ NULL SQL ХРАНИМАЯ SQL КОММЕНТАРИИ SQL ОПЕРАТОРЫ

SQL БАЗА ДАННЫХ

SQL СОЗДАТЬ БД SQL ОТКИНУТЬ БД SQL РЕЗЕРВНАЯ БД SQL СОЗДАТЬ ТАБЛИЦУ SQL ОТКИНУТЬ ТАБЛИЦУ SQL ИЗМЕНИТЬ ТАБЛИЦУ SQL ОГРАНИЧЕНИЯ SQL NOT NULL SQL UNIQU SQL PRIMARY KEY SQL FOREIGN KEY SQL CHECK SQL DEFAULT SQL CREATE INDEX SQL AUTO INCREMENT SQL ДАТЫ SQL CREATE VIEW SQL ИНЪЕКЦИЯ SQL ХОСТИНГ SQL ТИПЫ ДАННЫХ

SQL Справочник

SQL Ключевые слова MySQL Функции SQL Server функции MS Access функции SQL Краткий справочник

SQL Примеры

SQL Примеры SQL Викторина SQL Упражнения SQL Сертификат

SQL Типы данных для MySQL, SQL Server и MS Access



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


SQL Типы данных

Каждый столбец в таблице базы данных должен иметь имя и тип данных.

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

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


MySQL Типы данных (Version 8.0)

В MySQL существует три основных типа данных: строковые, числовые, а также дата и время.

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

Типы данных Описание
CHAR(size) Строка ФИКСИРОВАННОЙ длины (может содержать буквы, цифры и специальные символы). В размер параметр задает длину столбца в символах - может быть от 0 до 255. Значение по умолчанию равно 1
VARCHAR(size) Строка ПЕРЕМЕННОЙ длины (может содержать буквы, цифры и специальные символы). Параметр size задает максимальную длину строки в символах - может составлять от 0 до 65535
BINARY(size) Равен CHAR(), но хранит двоичные байтовые строки. Параметр size задает длину столбца в байтах. Значение по умолчанию равно 1
VARBINARY(size) Равен VARCHAR(), но хранит двоичные байтовые строки. Параметр size задает максимальную длину столбца в байтах.
TINYBLOB Для больших двоичных объектов (двоичных объектов большого размера). Максимальная длина: 255 байт
TINYTEXT Содержит строку с максимальной длиной 255 символов
TEXT(size) Содержит строку с максимальной длиной 65 535 байт
BLOB(size) Для больших двоичных объектов (двоичных объектов большого размера). Содержит до 65 535 байт данных
MEDIUMTEXT Содержит строку с максимальной длиной 16 777 215 символов
MEDIUMBLOB Для больших двоичных объектов (двоичных объектов большого размера). Содержит до 16 777 215 байт данных
LONGTEXT Содержит строку с максимальной длиной 4 294 967 295 символов
LONGBLOB Для больших двоичных объектов (двоичных больших объектов). Содержит до 4 294 967 295 байт данных
ENUM(val1, val2, val3, ...) Объект string, который может иметь только одно значение, выбранное из списка возможных значений. Вы можете перечислить до 65535 значений в перечислимом списке. Если вставлено значение, которого нет в списке, будет вставлено пустое значение. Значения сортируются в том порядке, в котором вы их вводите
SET(val1, val2, val3, ...) Объект string, который может иметь 0 или более значений, выбранных из списка возможных значений. В заданном списке можно указать до 64 значений

Числовые Типы данных

Тип данных Описание
BIT(size) Тип битового значения. Количество битов на значение указывается в параметре size. Параметр size может содержать значение от 1 до 64. Значение по умолчанию для size равно 1.
TINYINT(size) Очень маленькое целое число. Диапазон значений со знаком от -128 до 127. Диапазон значений без знака от 0 до 255. Параметр size задает максимальную ширину отображения (которая равна 255)
BOOL Ноль считается ложным, ненулевые значения считаются истинными.
BOOLEAN Равно BOOL
SMALLINT(size) Маленькое целое число. Диапазон со знаком - от -32768 до 32767. Диапазон без знака - от 0 до 65535. Параметр size задает максимальную ширину дисплея (которая равна 255).
MEDIUMINT(size) Среднее целое число. Диапазон значений со знаком - от -8388608 до 8388607. Диапазон значений без знака - от 0 до 16777215. Параметр size задает максимальную ширину дисплея (которая равна 255).
INT(size) Среднее целое число. Диапазон значений со знаком - от -2147483648 до 2147483647. Диапазон значений без знака - от 0 до 4294967295. Параметр size задает максимальную ширину дисплея (которая равна 255).
INTEGER(size) Равно INT(size)
BIGINT(size) Большое целое число. Диапазон значений со знаком составляет от -9223372036854775808 до 9223372036854775807. Диапазон без знака - от 0 до 18446744073709551615. Параметр size задает максимальную ширину дисплея (которая равна 255).
FLOAT(size, d) Число с плавающей запятой. Общее количество цифр указывается в размере. Количество цифр после запятой указывается в параметре d. Этот синтаксис устарел в MySQL 8.0.17, и он будет удален в будущих версиях MySQL
FLOAT(p) Число с плавающей запятой. MySQL использует значение p, чтобы определить, следует ли использовать FLOAT или DOUBLE для результирующего типа данных. Если p равно от 0 до 24, тип данных становится FLOAT(). Если p равно от 25 до 53, тип данных становится DOUBLE()
DOUBLE(size, d) Число с плавающей запятой обычного размера. Общее количество цифр указывается в параметре size. Количество цифр после запятой указывается в параметре d)
DOUBLE PRECISION(size, d)  
DECIMAL(size, d) Точное число с фиксированной запятой. Общее количество цифр указывается в размере. Количество цифр после запятой указывается в параметре d. Максимальное значение для размера равно 65. Максимальное значение для d равно 30. Значение по умолчанию для размера равно 10. Значение по умолчанию для d равно 0.
DEC(size, d) Равно DECIMAL(size,d)

Примечание: Все числовые типы данных могут иметь дополнительную опцию: UNSIGNED или ZEROFILL. Если вы добавите опцию UNSIGNED, MySQL запретит отрицательные значения для столбца. Если вы добавите опцию ZEROFILL, MySQL автоматически также добавит в столбец атрибут UNSIGNED.

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

Типы данных Описание
DATE Дата. Формат: ГГГГ-ММ-ДД. Поддерживаемый диапазон составляет от '1000-01-01' до '9999-12-31'
DATETIME(fsp) Комбинация даты и времени. Формат: ГГГГ-ММ-ДД чч: мм: сс. Поддерживаемый диапазон составляет от '1000-01-01 00:00:00' до '9999-12-31 23:59:59'. Добавление значения ПО УМОЛЧАНИЮ и ПРИ ОБНОВЛЕНИИ в определение столбца для автоматической инициализации и обновления до текущей даты и времени
TIMESTAMP(fsp) Временная метка. Значения ВРЕМЕННОЙ МЕТКИ сохраняются как количество секунд, прошедших с эпохи Unix ('1970-01-01 00:00:00' UTC). Формат: ГГГГ-ММ-ДД чч: мм: сс. Поддерживаемый диапазон составляет от '1970-01-01 00:00:01' UTC до '2038-01-09 03:14:07' UTC. Автоматическую инициализацию и обновление до текущей даты и времени можно указать, используя CURRENT_TIMESTAMP ПО УМОЛЧАНИЮ и ПРИ ОБНОВЛЕНИИ CURRENT_TIMESTAMP в определении столбца
TIME(fsp) Время. Формат: чч: мм: сс. Поддерживаемый диапазон составляет от '-838:59:59' до '838:59:59'
YEAR Год в четырехзначном формате. Допустимые значения в четырехзначном формате: с 1901 по 2155 и 0000. MySQL 8.0 не поддерживает год в двузначном формате.


SQL Server Типы данных

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

Типы данных Описание Максимальный size Хранение
char(n) Символьная строка фиксированной ширины 8000 символов Определенная ширина
varchar(n) Символьная строка переменной ширины 8,000 символов 2 байта + количество символов
varchar(max) Символьная строка переменной ширины 1,073,741,824 символов 2 байта + количество символов
text Символьная строка переменной ширины 2 ГБ текстовых данных 4 байта + количество символов
nchar Строка Юникода фиксированной ширины 4,000 символов Определенная ширина x 2
nvarchar Строка Юникода переменной ширины 4,000 символов  
nvarchar(max) Строка Юникода переменной ширины 536,870,912 символов  
ntext Строка Юникода переменной ширины 2 ГБ текстовых данных  
binary(n) Двоичная строка фиксированной ширины 8000 байт  
varbinary Двоичная строка переменной ширины 8000 байт  
varbinary(max) Двоичная строка переменной ширины 2GB  
image Двоичная строка переменной ширины 2GB  

Числовые Типы данных

Типы данных Описание Хранение
bit Целое число, которое может быть 0, 1 или NULL  
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 to 214,748.3647 4 байта
money Денежные данные с -922,337,203,685,477.5808 по 922,337,203,685,477.5807 8 байт
float(n) Числовые данные с плавающей точностью от -1.79E + 308 до 1.79 E + 308.

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

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

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

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

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

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

MS 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 байт
Currency Использовать в качестве валюты. Содержит до 15 цифр целых долларов плюс 4 знака после запятой. Совет: Вы можете выбрать валюту какой страны использовать 8 байт
AutoNumber Поля автоматической нумерации автоматически присваивают каждой записи свой собственный номер, обычно начинающийся с 1 4 байта
Date/Time Используйте для указания дат и времени 8 байт
Yes/No Логическое поле может отображаться как Yes/No, True /False или On/Off. В коде используйте константы True и False (эквивалентные -1 и 0). Примечание: Нулевые значения не допускаются в полях Yes/No 1 бит
Ole Object Может хранить изображения, аудио, видео или другие большие двоичные объекты (двоичные большие объекты) до 1 ГБ
Hyperlink Содержат ссылки на другие файлы, включая веб-страницы  
Lookup Wizard Позволяет ввести список параметров, которые затем можно выбрать из выпадающего списка 4 байта