Как пользоваться: Генератор CREATE TABLE
- Введите имя таблицы и выберите диалект базы данных.
- Добавьте столбцы: укажите имя, тип и длину, затем отметьте PK, NN (NOT NULL), UQ (UNIQUE) или AI (автоинкремент) и при необходимости задайте значение по умолчанию.
- При желании вставьте образец CSV или JSON в раздел Определить столбцы, чтобы создать столбцы автоматически.
- Скопируйте сгенерированный оператор
CREATE TABLEили скачайте его как.sql.
Что такое оператор CREATE TABLE?
CREATE TABLE — это оператор определения данных (DDL) в SQL, который создаёт таблицу: её имя, каждый столбец с типом данных и ограничения, такие как первичные ключи, NOT NULL и UNIQUE. Базовый синтаксис стандартен, но у каждой СУБД свои типы и свой синтаксис автоинкремента. Именно это и обрабатывает генератор.
Один и тот же столбец в пяти базах данных
| Общий тип | MySQL | PostgreSQL | SQLite | SQL Server | Oracle |
|---|---|---|---|---|---|
| Автоинкрементный id | INT AUTO_INCREMENT | INTEGER GENERATED BY DEFAULT AS IDENTITY | INTEGER PRIMARY KEY AUTOINCREMENT | INT IDENTITY(1,1) | NUMBER GENERATED BY DEFAULT AS IDENTITY |
| BOOLEAN | TINYINT(1) | BOOLEAN | INTEGER | BIT | NUMBER(1) |
| VARCHAR(255) | VARCHAR(255) | VARCHAR(255) | TEXT | NVARCHAR(255) | VARCHAR2(255) |
| TEXT | TEXT | TEXT | TEXT | NVARCHAR(MAX) | CLOB |
| DATETIME | DATETIME | TIMESTAMP | TEXT | DATETIME2 | TIMESTAMP |
| JSON | JSON | JSONB | TEXT | NVARCHAR(MAX) | CLOB |
| UUID | CHAR(36) | UUID | TEXT | UNIQUEIDENTIFIER | VARCHAR2(36) |
Ограничения
- PRIMARY KEY однозначно идентифицирует каждую строку и подразумевает NOT NULL. Отметьте PK у нескольких столбцов, чтобы создать составной ключ.
- NOT NULL запрещает пустые значения. Используйте его для всех столбцов, которые ваше приложение всегда заполняет.
- UNIQUE предотвращает дубликаты, например, два аккаунта с одинаковым email.
- DEFAULT подставляет значение, если INSERT не указывает столбец. Числа,
TRUE/FALSE,NULLи функции вродеCURRENT_TIMESTAMPзаписываются как есть, остальное заключается в кавычки как текст.
Хорошие привычки при проектировании схемы
Используйте имена в snake_case, храните денежные суммы в DECIMAL (но не в FLOAT), храните даты и время в UTC и используйте utf8mb4 в MySQL, чтобы в данных помещались эмодзи и любые языки. Чтобы загрузить данные в новую таблицу, сгенерируйте INSERT-запросы с помощью CSV и Excel в SQL, а для форматирования запроса используйте SQL Formatter.
Также ищут как: create table sql, генератор sql таблиц, mysql create table, postgresql create table, sql schema generator, генератор ddl, проектирование таблиц базы данных, sql create table онлайн.
Инструменты, которые хорошо сочетаются с Генератор CREATE TABLE
- JSON в SQL — Вставьте JSON-массив и получите SQL, который создаёт таблицу и записывает каждый объект как строку.
- Генератор условия SQL IN — Вставьте ID, e-mail или коды — по одному в строке, через запятую или прямо из столбца Excel — и получите готовое условие WHERE … IN (…).
- SQL в JSON, CSV и Excel — Вставьте SQL-дамп или несколько выражений INSERT и получите строки в виде JSON, CSV или книги Excel с отдельным листом для каждой таблицы.
- Excel в JSON — Откройте книгу .xlsx или вставьте ячейки прямо из Excel или Google Sheets и получите чистый JSON.
Часто задаваемые вопросы
Как создать первичный ключ с автоинкрементом?
Поддерживает ли SQL Server CREATE TABLE IF NOT EXISTS?
IF OBJECT_ID(N'table', N'U') IS NULL.