目录
2.选择数据库(我的是kk),在数据库中创建对应表(最好别设置主键和限制什么的,csv数据不一定干净)
3.进入mysql,选择数据库(我的是kk),然后使用sql命令导入
一般情况下的流程
1.创建一个csv文件(我的是在~/test.csv)
2.选择数据库(我的是kk),在数据库中创建对应表(最好别设置主键和限制什么的,csv数据不一定干净)
create table student(
number int ,
name varchar(10),
password varchar(10)
);
3.进入mysql,选择数据库(我的是kk),然后使用sql命令导入
load data local infile '~/test.csv' # 文件路径
into table student # 表名
character set utf8 # 编码
fields terminated by ',' # 分隔符
lines terminated by '\r\n' # 换行符,windows下是\r\n
ignore 1 lines; # 忽略第一行,因为表头已建好
4.查看导入的数据
常见问题
1: 导入数据时
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this sl tatement
分析: MySQL正在执行secure-file-priv这个玩意
解决:
1:show variables like '%secure%';查看 secure-file-priv 当前的值是什么;
如果这里是NULL或者具体路径,应该改为空的(有人说换一个地址也行)
2: 在mysql的配置文件my.ini中添加如下行secure_file_priv=‘’
(我并没有找到mysql中的my.ini文件,我修改的是/etc/my.cnf,如下)
3:之后重启mysql服务。
sudo service mysqld restart
2:包含中文的csv文件导入到mysql中乱码(设置mysql编码没反应)
更新:如果导入没有数据也可以使用这个(亲测)
解决:
1.重新设置数据库的编码,然后重新建表(我最开始只是重新设置表的编码,没用)
alter database test(自己数据库名字) character set utf8;
3:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)‘
解决: