Как пользоваться: CSV и Excel в SQL
- Вставьте CSV или скопированные ячейки Excel, откройте файл
.csv/.xlsxили нажмите Загрузить пример. - Выберите диалект базы данных и укажите имя таблицы.
- Выберите нужные операторы:
CREATE TABLEс определёнными типами,DROP TABLE, транзакцию и количество строк в каждомINSERT. - Проверьте определённые типы столбцов в предпросмотре, затем нажмите Копировать или Скачать .sql и выполните скрипт в клиенте вашей базы данных.
Что такое конвертер CSV в SQL?
Конвертер CSV в SQL превращает строки таблицы в SQL-операторы, которые может выполнить база данных: оператор CREATE TABLE, описывающий столбцы, и операторы INSERT INTO … VALUES, которые добавляют данные. Это самый быстрый способ загрузить разовый экспорт, наполнить тестовую базу или перенести данные из Excel в MySQL или PostgreSQL без мастера импорта.
CREATE TABLE `customers` (
`id` INT NOT NULL,
`name` VARCHAR(16),
`signup_date` DATE,
`monthly_spend` DECIMAL(10,2),
PRIMARY KEY (`id`)
);
INSERT INTO `customers` (`id`, `name`, `signup_date`, `monthly_spend`) VALUES
(1, 'Ada Lovelace', '2024-01-15', 49),
(4, 'O''Brien, Pat', '2024-04-09', 49);
Как определяются типы столбцов
Каждое значение в столбце проверяется, и выбирается самый узкий тип, подходящий для всех них. В предпросмотре результат показан в виде бейджа над каждым столбцом.
| Значения в столбце | MySQL | PostgreSQL | SQL Server |
|---|---|---|---|
| Целые числа | INT / BIGINT | INTEGER / BIGINT | INT / BIGINT |
| Дробные числа | DECIMAL(p,s) | NUMERIC(p,s) | DECIMAL(p,s) |
| true / false | TINYINT(1) | BOOLEAN | BIT |
2024-01-15 | DATE | DATE | DATE |
2024-01-15 14:30:00 | DATETIME | TIMESTAMP | DATETIME2 |
| Текст | VARCHAR(n) / TEXT | VARCHAR(n) / TEXT | NVARCHAR(n) / NVARCHAR(MAX) |
Для текстовых столбцов длина VARCHAR округляется вверх от самого длинного значения (16, 32, 50, 100, 255…). Проверьте длины перед загрузкой рабочих данных: столбец, короткий в вашей выборке, может позже содержать более длинные значения.
Экранирование и различия диалектов
- Кавычки внутри текста удваиваются (
O'Brien→'O''Brien'); вывод для MySQL также экранирует обратные слеши. - Идентификаторы заключаются в обратные кавычки (MySQL), двойные кавычки (PostgreSQL, SQLite, Oracle) или квадратные скобки (SQL Server), поэтому зарезервированные слова вроде
orderилиgroupможно использовать как имена столбцов. - Многострочные вставки работают заметно быстрее, чем один оператор на строку. SQL Server допускает не более 1 000 строк в одном списке
VALUES, а Oracle используетINSERT ALL … SELECT 1 FROM DUAL. - Пустые ячейки по умолчанию становятся
NULL; снимите флажок, чтобы вставлять пустые строки.
Советы для больших импортов
Оборачивайте вставки в транзакцию, чтобы ошибка в одной строке не оставила половину данных, и используйте пакеты по 500–1 000 строк. Для миллионов строк ещё быстрее работают штатные загрузчики: LOAD DATA INFILE в MySQL или COPY в PostgreSQL. Нужен импорт из JSON? Воспользуйтесь JSON в SQL, а таблицу можно спроектировать вручную с помощью генератора CREATE TABLE. Результат аккуратно отформатируйте с помощью SQL-форматтера.
Также ищут как: excel в sql, csv в sql insert, csv в mysql, excel в mysql, csv в postgresql, xlsx в sql, генератор insert запросов, генератор sql insert.
Инструменты, которые хорошо сочетаются с CSV и Excel в SQL
- SQL в JSON, CSV и Excel — Вставьте SQL-дамп или несколько выражений INSERT и получите строки в виде JSON, CSV или книги Excel с отдельным листом для каждой таблицы.
- Excel в JSON — Откройте книгу .xlsx или вставьте ячейки прямо из Excel или Google Sheets и получите чистый JSON.
- CSV в JSON — Вставьте CSV или TSV и получите JSON-массив объектов.
- JSON в Excel — Превратите JSON-массив в настоящую книгу Excel.
Часто задаваемые вопросы
Как преобразовать лист Excel в операторы SQL INSERT?
Какие базы данных поддерживаются?
Можно ли получить один оператор INSERT на строку?
Почему изменились имена моих столбцов?
signup_date, что исключает проблемы с кавычками. Снимите флажок, чтобы сохранить исходный текст заголовков.