要批量執行這些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
命令)。