Создание таблиц: CREATE TABLE и типы данных
Спроектируй собственные таблицы и выбери правильную коробку для каждого значения
CREATE TABLE позволяет спроектировать совершенно новую таблицу: назвать её столбцы и выбрать тип данных для каждого. Тип данных - это обещание о том, какое значение будет хранить столбец.
- написать команду
CREATE TABLEс несколькими столбцами, - выбрать правильный тип данных:
INT,DECIMAL,VARCHAR,TEXT,DATE,DATETIME,BOOLEAN, - сделать столбец обязательным с помощью
NOT NULLи задать запасное значение черезDEFAULT, - изменить таблицу позже с помощью
ALTER TABLE, - удалить таблицу командой
DROP TABLE.
1. Что делает CREATE TABLE
Представь таблицу как пустую электронную таблицу, которую ты проектируешь до того, как кто-то введёт в неё данные. Ты даёшь таблице имя, а затем перечисляешь её столбцы. Для каждого столбца пишешь две вещи: имя столбца и его тип данных.
Вот самая простая форма команды:
CREATE TABLE table_name (
column1 TYPE,
column2 TYPE,
column3 TYPE
);
Описания столбцов находятся в круглых скобках, разделяются запятыми, а вся команда заканчивается точкой с запятой. Запуск команды пока не добавляет ни одной строки - он только строит пустую структуру, готовую к данным, которые ты добавишь в следующей теме.
2. Типы данных: правильная коробка для каждого значения
Тип данных сообщает базе, какое значение может хранить столбец. Выбрать правильный тип - как выбрать правильную ёмкость на кухне: молоко ты хранишь в бутылке, а не в бумажном пакете. Тип защищает твои данные и экономит место.
Вот повседневные типы, которыми ты будешь пользоваться снова и снова:
| Тип | Хранит | Пример значения |
|---|---|---|
INT | Целые числа (без точки) | 7, -40, 2026 |
DECIMAL(5,2) | Точные числа с дробной частью | 19.99, 4.50 |
VARCHAR(50) | Короткий текст до выбранной длины | 'Sara', 'Blue' |
TEXT | Длинный текст (абзацы, заметки) | целый отзыв |
DATE | Календарный день | '2026-09-01' |
DATETIME | День и время | '2026-09-01 08:30:00' |
BOOLEAN | Истина или ложь (да/нет) | TRUE, FALSE |
Присмотримся ближе:
INT- для подсчёта: возраст, класс, сколько книг. Дробей нет.DECIMAL(5,2)означает "до 5 цифр всего, из них 2 после точки". То есть можно хранить числа до999.99. Используй его для денег и точных измерений, потому что он не округляет неожиданно.VARCHAR(n)хранит короткий текст, и ты выбираешь наибольшую длинуn.VARCHAR(50)означает "до 50 символов". Сюда подходят имена, цвета и города.TEXT- для длинного текста, длину которого нельзя угадать: комментарий, описание, история.DATEхранит день какYYYY-MM-DD.DATETIMEхранит ещё и время - идеально для "когда это произошло".BOOLEANотвечает на вопрос да/нет, например "активен ли этот ученик?".
Заметка о диалектах В MySQL BOOLEAN на самом деле хранится как крошечное число: TRUE - это 1, а FALSE - это 0. В PostgreSQL есть настоящий булев тип, а SQLite гибок к типам, но идея везде одна и та же.