使用INSERT INTO SELECT语句:这是最常用的方法之一,可以将其他表的查询结果直接插入到目标表中。语法如下:INSERT INTO 目标表 (列1, 列2, 列3, ...) SELECT 列1, 列2, 列3, ... FROM 其他表 WHERE 条件;优势:简单、高效,适用于大量数据的导入。
应用场景:数据迁移、数据备份等。
示例:假设有两个表A和B,我们要将表A中满足条件的数据插入到表B中,可以使用以下语句:INSERT INTO B (列1, 列2, 列3, ...) SELECT 列1, 列2, 列3, ... FROM A WHERE 条件;
使用LOAD DATA INFILE语句:如果数据源是一个文件,可以使用LOAD DATA INFILE语句将文件中的数据导入到MySQL表中。语法如下:LOAD DATA INFILE '文件路径' INTO TABLE 目标表 [字段和行的格式选项];优势:适用于大量数据的批量导入,速度较快。
应用场景:数据批量导入、日志文件导入等。
示例:假设有一个名为data.txt的文本文件,文件中每行包含要导入的数据,可以使用以下语句将数据导入到表A中:LOAD DATA INFILE 'data.txt' INTO TABLE A;
使用INSERT INTO VALUES语句:如果只需要插入少量数据,可以使用INSERT INTO VALUES语句逐条插入。语法如下:INSERT INTO 目标表 (列1, 列2, 列3, ...) VALUES (值1, 值2, 值3, ...);优势:灵活、可控,适用于少量数据的导入。
应用场景:数据逐条插入、数据修复等。
示例:假设要将一条数据插入到表A中,可以使用以下语句:INSERT INTO A (列1, 列2, 列3, ...) VALUES (值1, 值2, 值3, ...);