要批量执行这些SQL插入语句,可根据使用的数据库管理系统(DBMS)选择不同的方法。以下是几种常见的批量执行方式:
1. 使用数据库客户端工具
MySQL / MariaDB
- 命令行:将所有SQL语句保存到文件(如
cities.sql
),然后执行:
- MySQL Workbench:粘贴所有语句到查询窗口,点击执行按钮。
PostgreSQL
- 命令行:
- pgAdmin:在查询工具中执行批量语句。
SQL Server
- SSMS:粘贴所有语句到查询窗口,按
F5
执行。
2. 使用编程语言执行批量插入
如果需要通过代码执行,可使用数据库连接库(如Python的pymysql
、Java的JDBC等)。以下是Python示例:
3. 优化批量插入性能
合并INSERT语句(推荐)
将多个单行INSERT合并为一个多行INSERT,减少事务开销:
禁用自动提交
如果使用编程语言,可先关闭自动提交,执行完所有语句后再手动提交:
4. 注意事项
- 事务大小:批量执行时,确保事务大小在数据库承受范围内,避免内存溢出。
- 主键冲突:确保
id
字段无重复值,否则会导致插入失败。 - 权限:确保用户有执行批量插入的权限。
- 日志记录:大事务可能导致日志膨胀,可考虑分批执行(如每1000条提交一次)。
选择建议
- 快速测试:使用数据库客户端工具直接执行SQL文件。
- 生产环境:通过代码执行,便于错误处理和性能优化。
- 性能优先:使用多行INSERT语句或数据库特定的批量插入API(如PostgreSQL的
COPY
命令)。