Часть бесплатной книги «SQL Введение» · Перейти к содержанию
Типы данных
При создании таблицы необходимо указать, какие данные будут храниться в каждом столбце.
Для этого используются типы данных.
Тип данных определяет, какие значения можно записывать в столбец таблицы.
Рассмотрим таблицу игроков:
| Столбец | Тип данных |
|---|---|
| id | INT |
| nickname | VARCHAR(50) |
| VARCHAR(100) | |
| level | INT |
| rating | INT |
| win_rate | DECIMAL(5,2) |
| last_login | DATE |
| registration_date | DATE |
Каждый столбец хранит определенный тип информации, поэтому для него выбирается подходящий тип данных.
Целые числа
Для хранения целых чисел используются числовые типы данных.
В нашей таблице это:
id INT
level INT
rating INT
wins INT
losses INT
Примеры значений:
| level |
|---|
| 1 |
| 25 |
| 100 |
Тип INT используется очень часто и подходит для хранения большинства целых чисел.
Строковые данные
Для хранения текста используются строковые типы данных.
В нашей таблице это:
nickname VARCHAR(50)
email VARCHAR(100)
city VARCHAR(50)
country VARCHAR(50)
rank_title VARCHAR(50)
guild VARCHAR(50)
Примеры значений:
| nickname |
|---|
| Dragon |
| Shadow |
| Warrior77 |
Тип VARCHAR хранит строки переменной длины.
Например:
VARCHAR(50)
Число в скобках указывает максимальное количество символов, которое может храниться в поле.
Для столбца:
nickname VARCHAR(50)
можно сохранить ник длиной до 50 символов.
Числа с дробной частью
Для хранения чисел с дробной частью используются специальные типы данных.
В нашей таблице используется:
win_rate DECIMAL(5,2)
Примеры значений:
| win_rate |
|---|
| 52.30 |
| 75.50 |
| 100.00 |
Тип:
DECIMAL(5,2)
означает:
- всего можно хранить 5 цифр;
- из них 2 цифры находятся после десятичной точки.
Например:
99.99
12.50
100.00
Такой тип данных часто используется для процентов и денежных значений.
Дата
Для хранения даты используется тип данных:
DATE
В нашей таблице это:
last_login DATE
registration_date DATE
Примеры значений:
2025-01-15
2025-06-20
2026-01-01
Формат даты:
ГГГГ-ММ-ДД
Например:
2026-06-25
NULL
Некоторые поля могут не содержать значения.
В таком случае используется специальное значение:
NULL
Например, игрок может еще не состоять в гильдии:
| nickname | guild |
|---|---|
| Dragon | NULL |
Или игрок еще не получил звание:
| nickname | rank_title |
|---|---|
| Shadow | NULL |
NULL означает, что значение отсутствует или пока неизвестно.
Важно понимать разницу:
| Значение | Смысл |
|---|---|
| NULL | значение отсутствует |
| ‘’ | пустая строка |
| 0 | число ноль |
Это разные значения.
Что важно запомнить
- Тип данных определяет, какие значения можно хранить в столбце.
- Для целых чисел в нашей таблице используется тип INT.
- Для текста используется VARCHAR.
- Для процентов побед используется DECIMAL.
- Для хранения даты используется DATE.
- NULL означает отсутствие значения.