MySQL 导入数据

用 mysql 客户端或 source 执行 SQL 文件,LOAD DATA 灌大文本。

Beginner
Key Points小数据用 mysql < file.sql;百万行大文件用 LOAD DATA INFILE 最快。

执行 SQL 文件

Shell
mysql -u root -p shop < shop.sql
# 或在客户端内
mysql> source /path/to/shop.sql;
Output
Query OK, 0 rows affected (0.05 sec)
...

LOAD DATA 批量灌入

SQL
LOAD DATA INFILE '/var/lib/mysql-files/users.csv'
INTO TABLE users
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(username, age);
Output
Query OK, 1000000 rows affected (4.21 sec)
For huge files LOAD DATA INFILE is an order of magnitude faster than row-by-row INSERT. If the file is on the client, use LOAD DATA LOCAL INFILE (requires local_infile enabled).

Friends & Partners