MySQL导入导出txt文本
1、在MySQL数据库中创建一个用户表user,包含三个最基础字段:主键id,姓名name和年龄age。
1 | CREATE TABLE USER( |
2、制作一个user.txt文件,每一条内容用Tab键进行分隔不同的属性,多条换行。如果该字段为NULL,则用/N表示。 里面包含内容如下:
1 | 31 |
3、使用MySQL命令导入txt文本,指定本地路径和对应表中的字段。
1 | LOAD DATA LOCAL INFILE "H:/user.txt" INTO TABLE USER(name,age); |
注意:导入前一定要查看MySQL数据库的编码是否全部为utf8,否则会乱码
1 | mysql> SHOW VARIABLES LIKE '%char%'; |
4、使用MySQL命令导出txt文本,字段之间的分隔默认是/t(即Tab),记录(行)之间的分隔默认是/n(换行)。
1 | SELECT name,age INTO OUTFILE "H:/user.txt" FROM USER; |
5、使用MySQL命令导出csv文件
1 | SELECT name,age INTO OUTFILE FIELDS TERMINATED BY ',' "H:/user.txt" FROM USER; |
6、导出时报错“ERROR 1290 (HY000): The MySQL server is running with the –secure-file-priv option so it cannot execute this statement”
解决办法有两种:
1、进入MySQL命令行输入命令show variables like ‘%secure%’;查看允许导出文件的目录,那么导出时的路径只能在这个目录下。
2、在MySQL配置文件,my.ini中将这个secure-file-priv的值设置为空:secure-file-priv=“”,重启MySQL就可以在任意目录下导出文件。