F:\hello world\niuzi.sql (含空格,無需加引號)
mysql -h localhost -u root -p < F:\hello world\niuzi.sql # 指定資料庫 mysql -h localhost -u root -p -D db_name < F:\hello world\niuzi.sql # 密碼直接寫入 (不安全,僅測試用) mysql -h localhost -u root -p123456 < F:\hello world\niuzi.sql
mysql> SOURCE F:\hello world\niuzi.sql; # 縮寫形式 mysql> \. F:\hello world\niuzi.sql;
; 結尾,-- 註釋
-- 建表 CREATE TABLE t (id INT PRIMARY KEY, name VARCHAR(50)) ENGINE=InnoDB; -- 新增欄位 ALTER TABLE t ADD status TINYINT DEFAULT 0; -- 插入資料 INSERT INTO t VALUES (1, '測試'); COMMIT;
D:\mysql\bin\mysql -uroot -p123456 -Dtest < d:\test\script.sql # 路徑含空格需加雙引號 mysql.exe "C:\Program Files\MySQL\bin\mysql" -uroot -p123456 -Dtest < "d:\my scripts\script.sql"
D:\mysql\bin\mysql -uroot -p123456 -Dtest mysql> SOURCE d:\test\script.sql;
| 項目 | 重定向模式 | SOURCE 模式 |
|---|---|---|
| 路徑含空格 | 無需引號 | 無需引號 |
| mysql.exe 路徑含空格 | 需雙引號 | N/A |
| 腳本內 USE db | 可省略 -D | 可省略 -D |
| 大量匯入優化 | 腳本首尾加事務控制 | 同左 |
| 錯誤輸出導向 | 2>error.log | 無直接支援 |
本文整理自 kenkofox 博客 並補充實戰細節。