COPY table_name (col1, col2, col3, ...,coln) FROM 'file_path' WITH DELIMITER ',' CSV HEADER;
上面是一个COPY命令的模板,可以通过把相应的值替换进去来完成数据复制操作。下面是每个部分的含义:
- table_name:需要复制数据的表名。
- col1, col2, col3, …,coln:需要插入的表字段名,多个字段之间用逗号隔开。
- file_path:源文件路径,应该是一个CSV文件。如果文件不在当前工作目录中,请指定完整的路径。
- DELIMITER:字段分隔符。
- CSV HEADER:标志着文件文件的第一行是标题行。
一个比较简单的示例:
COPY my_new_table (id, name, age) FROM '/data/my_old_table.csv' WITH DELIMITER ',' CSV HEADER;
上述代码将从名为my_old_table.csv的源文件中读取数据,然后将数据插入一个名为my_new_table的新表中,新表包括id,name和age字段。
由于COPY命令使用了源文件,必须确保源文件中没有错误,以及源文件与目标数据库兼容。否则,将会产生无法预知的问题,或者导致数据的损坏或丢失。
在MySQL的COPY命令中,还有很多其他的选项可以使用,如控制文件格式,处理错误等等。如果您需要这些选项的情况下,请查阅MySQL官方文档。