Генератор SQL INSERT
Генерируйте SQL INSERT-запросы из табличных данных.
Об этом инструменте
SQL INSERT Generator – это инструмент для разработчиков, который преобразует табличные данные в готовые к выполнению SQL-запросы INSERT. Если вы переносите данные из электронной таблицы, создаёте тестовые данные или заполняете базу данных начальными значениями, этот инструмент избавляет вас от утомительной ручной работы по написанию синтаксиса INSERT. Он читает структуру ваших данных и генерирует синтаксически правильный SQL, который работает с большинством реляционных баз данных, включая MySQL, PostgreSQL, SQLite и SQL Server.
Чтобы использовать инструмент, вставьте табличные данные (из электронной таблицы, CSV-файла или текстовой таблицы) в область ввода и выберите целевой тип базы данных. Генератор автоматически обнаруживает столбцы, определяет типы данных, обрабатывает специальные символы и экранирование, создавая чистый SQL-код, готовый к прямой вставке в ваш клиент базы данных. Вы можете настроить имя таблицы и отредактировать любые сгенерированные инструкции перед выполнением.
Этот инструмент особенно ценен для разработчиков, настраивающих тестовые окружения, администраторов баз данных, инициализирующих новые экземпляры, и инженеров данных, подготавливающих массовый импорт. Он обрабатывает типичные пограничные случаи, такие как значения NULL, экранирование строк и форматирование дат, экономя время и снижая количество синтаксических ошибок, которые могут нарушить операции импорта.
Часто задаваемые вопросы
Реализация кода
# Generate SQL INSERT statements from a list of dicts
def generate_inserts(table, rows, batch=False):
if not rows:
return ""
columns = ", ".join(rows[0].keys())
def fmt(v):
if isinstance(v, (int, float)):
return str(v)
return f"'{str(v).replace(chr(39), chr(39)+chr(39))}'"
if batch:
values = ",\n ".join(
"(" + ", ".join(fmt(v) for v in row.values()) + ")"
for row in rows
)
return f"INSERT INTO {table} ({columns})\nVALUES\n {values};"
else:
return "\n".join(
f"INSERT INTO {table} ({columns}) VALUES ({', '.join(fmt(v) for v in row.values())});"
for row in rows
)
rows = [
{"id": 1, "name": "Alice", "email": "alice@example.com"},
{"id": 2, "name": "Bob", "email": "bob@example.com"},
]
print(generate_inserts("users", rows, batch=True))Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.