MySQL 学习记录- MySQL8.0导入数据 Day20

为了安全起见,MySQL8.0默认不允许客户端从本地载入文件。客户端local_infile默认关闭,因此需要在安全路径下导入本地文件。
方法一:在workbench客户端操作

查看安全路径

show variables like '%secure%';

在这里插入图片描述
找到安全路径,将数据文件放在此路径下
在这里插入图片描述
然后执行如下命令导入数据(emp表结构已创建好)
表名不能是中文,’\‘在编程语言中是转义符,因此要改为’\'或‘/’

load data infile "C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/employee.csv"
into table emp 
fields terminated by ',' 
ignore 1 lines;

PS:按住Shift右键文件,可以直接复制文件的路径,另外在mysql workbench 中可以用Ctrl+H快捷键来实现查找替换。
在这里插入图片描述
若安全路径为NULL,可以在命令行(cmd)中打开导入外部数据的权限后,在命令行(cmd)中导入数据,具体操作步骤参见方法二。
在这里插入图片描述
方法二:在命令行(cmd)中操作
启动cmd
在这里插入图片描述
进入MySQL安装路径
在这里插入图片描述
在这里插入图片描述
使用如下命令登录:

mysql --local-infile=1 -u root -p

在这里插入图片描述
登陆成功后,选择进入数据库并查看是否有导入外部数据的权限:

mysql> use test;
mysql> show global variables like 'local_infile';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| local_infile  | OFF   |
+---------------+-------+

打开导入外部数据的权限

mysql> set global local_infile = 'ON';
mysql> show global variables like 'local_infile';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| local_infile  | ON    |
+---------------+-------+

然后再进行数据导入(emp表结构已创建好)注意关键字local
路径中不能有中文,’\‘在编程语言中是转义符,因此要改为’\'或‘/’

mysql> load data local infile "C:/Users/EDZ/Desktop/employee.csv"
	into table emp 
	fields terminated by ',' 
	ignore 1 lines;
mysql> select * from emp;
+-------+--------+-----------+------+------------+------+------+--------+
| empid | ename  | job       | mgr  | hiredate   | sal  | comm | deptno |
+-------+--------+-----------+------+------------+------+------+--------+
|  7369 | smith  | clerk     | 7902 | 1980-12-17 |  800 | NULL |     20 |
|  7499 | allen  | salesman  | 7698 | 1981-02-20 | 1600 |  300 |     30 |
|  7521 | ward   | salesman  | 7698 | 1981-02-22 | 1250 |  500 |     30 |
|  7566 | jones  | manager   | 7839 | 1981-04-02 | 2975 | NULL |     20 |
|  7654 | martin | salesman  | 7698 | 1981-09-28 | 1250 | 1400 |     30 |
|  7698 | blake  | manager   | 7839 | 1981-05-01 | 2850 | NULL |     30 |
|  7782 | clark  | manager   | 7839 | 1981-06-09 | 2450 | NULL |     10 |
|  7788 | scott  | analyst   | 7566 | 1987-04-19 | 3000 | NULL |     20 |
|  7839 | king   | persident | NULL | 1981-11-17 | 5000 | NULL |     10 |
|  7844 | turner | salesman  | 7698 | 1981-09-08 | 1500 |    0 |     30 |
|  7876 | adams  | clerk     | 7788 | 1987-05-23 | 1100 | NULL |     20 |
|  7900 | james  | clerk     | 7698 | 1981-12-03 |  950 | NULL |     30 |
|  7902 | ford   | analyst   | 7566 | 1981-12-03 | 3000 | NULL |     20 |
|  7934 | miller | clerk     | 7782 | 1982-01-23 | 1300 | NULL |     10 |
+-------+--------+-----------+------+------------+------+------+--------+

最后查看数据导入成功即可。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值