添加百万条记录的常用方法有两种:使用LOAD DATA语句导入CSV文件和使用INSERT语句批量插入数据。
使用LOAD DATA语句导入CSV文件
步骤:
-
创建CSV文件,格式必须与目标表字段顺序相同,每行表示一条记录,字段之间用逗号分隔。
-
登录MySQL客户端。
-
创建目标表。
-
使用以下语句导入数据:
LOAD DATA INFILE 'file_path'
INTO TABLE table_name
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';
其中,file_path是CSV文件路径,table_name是目标表名。语句中的FIELDS TERMINATED BY ','表示字段之间用逗号分隔,LINES TERMINATED BY '\n'表示每行记录以换行符结束。
示例1:导入学生信息表
假设目标表名为student,包含字段id、name、age、gender,CSV文件路径为~/student.csv。则执行以下语句:
CREATE TABLE student (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
gender VARCHAR(10)
);
LOAD DATA INFILE '~/student.csv'
INTO TABLE student
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';
示例2:导入图书信息表
假设目标表名为book,包含字段isbn、title、author、price,CSV文件路径为~/book.csv。则执行以下语句:
CREATE TABLE book (
isbn VARCHAR(20) PRIMARY KEY,
title VARCHAR(100),
author VARCHAR(50),
price DECIMAL(8,2)
);
LOAD DATA INFILE '~/book.csv'
INTO TABLE book
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';
使用INSERT语句批量插入数据
步骤:
-
登录MySQL客户端。
-
创建目标表。
-
使用以下语句批量插入数据:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...),
(value1, value2, value3, ...),
...
其中,table_name是目标表名,column1、column2、column3等是目标表字段名,value1、value2、value3等是要插入的值。
示例1:批量插入学生信息表
假设目标表名为student,包含字段id、name、age、gender。则执行以下语句:
CREATE TABLE student (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
gender VARCHAR(10)
);
INSERT INTO student (id, name, age, gender)
VALUES (1, '张三', 18, '男'),
(2, '李四', 20, '女'),
(3, '王五', 19, '男'),
...
(1000000, '陈七', 22, '女');
示例2:批量插入图书信息表
假设目标表名为book,包含字段isbn、title、author、price。则执行以下语句:
CREATE TABLE book (
isbn VARCHAR(20) PRIMARY KEY,
title VARCHAR(100),
author VARCHAR(50),
price DECIMAL(8,2)
);
INSERT INTO book (isbn, title, author, price)
VALUES ('9787121385554', '高性能MySQL', 'Baron Schwartz', 59.00),
('9787113250730', 'MySQL技术内幕InnoDB存储引擎', '姜承尧', 89.00),
('9787111407045', '深入浅出MySQL', '姜承尧', 68.00),
...
('9787111578340', '数据仓库实战', '李春葆', 59.80);
注意:批量插入数据时要避免一次插入太多数据,可能会导致MySQL服务器性能下降甚至崩溃。通常建议每次插入不超过1万条数据。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mysql快速添加百万条记录的语句 - Python技术站