MySQL学习笔记(五)

MySQL 实战

1 学习内容

(1)数据导入导出
(2)将之前创建的任意一张MySQL表导出,且是CSV格式
(3)再将CSV表导入数据库

参考:https://blog.youkuaiyun.com/u010700335/article/details/40554703

1.1 MYSQL如何导出文本文件 (备份为csv,txt,等)

mysql 下导出为指定格式的数据的外部任意文件类型

mysql> use test 

mysql-> select * from salary into outfile 'SELECT * FROM salary INTO OUTFILE  'F:\\aProject_EN\\MySQL\\salary.csv' FIELDS TERMINATED BY '\,'; --(指导出数据的,注意转义字符哦)

结果为:
在这里插入图片描述

知识补充:

一般形式:

select [列名称] from tablename [where]
into outfile ‘目标文件路径’ [option]


其中option参数常用的5个选项

FIELDS TERMINATED BY ‘字符串’:设置字符串为字段的分割符,默认值为 \t;
FIELDS ENCLOSED BY ‘字符’:设置字符串括上char varchar text等字符型字段,默认值为 无任何符号;
FIELDS OPTIONALLY ENCLOSED BY ‘字符’:设置字符串括上字段的值,默认值为 无任何符号;
LINES STARTING BY ‘字符串’:设置每一行开头的字符,默认值为 无任何字符;
FIELDS ESCAPED BY ‘字符’:设置转义字符,默认值为 \;
LINES TERMINATED BY ‘字符串’:设置每行结束符,默认值为 \n;

如:

select * from salary into outfile ‘F:\aProject_EN\MySQL\salary.csv’
FIELDS TERMINATED BY ‘,’ OPTIONALLY ENCLOSED BY ‘"’
LINES STARTING BY ‘>’ TERMINATED BY ‘\r\n’;

关于报错:

MYSQL导入数据出现
The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

参考:https://blog.youkuaiyun.com/qq_31518899/article/details/75662090

方法一:

这个原因其实很简单,是因为在安装MySQL的时候限制了导入与导出的目录权限

只能在规定的目录下才能导入

我们需要通过下面命令查看 secure-file-priv 当前的值是什么

show variables like ‘%secure%’;

我们可以看到value的值为E:\mysql\

那么我们把导入的路径改为上面的值就可以了

方法二:

如果觉得这样太麻烦,那么我们就需要改配置文件,

到C:\ProgramData\MySQL\MySQL Server 5.7目录下找到my.ini的配置文件,(注意ProgramData是隐藏目录需要去 计算机->工具->文件夹选项 里面把隐藏的文件显示出来)

在my.ini文件中搜索secure-file-priv找到并将它的值改为

secure-file-priv=‘’(注意不是下划线

重启MySQL就可以在任何目录下操作了(如果重启MySQL不行就重启电脑,博主亲测)

重启方法为:

右键点击 计算机->管理->服务和应用程序->找到MySQL点击右键->重新启动

1.2 MYSQL如何导入文本文件

(1)第一步:创建对应字段的数据表
create table csv_test2(
id int(8) primary key,
name varchar(64),
value int(32)
);
(2)第二步:导入外部数据
LOAD DATA INFILE  'F:\\aProject_EN\\MySQL\\salary.csv'
INTO TABLE csv_test2
FIELDS TERMINATED BY '\,'
OPTIONALLY ENCLOSED BY '\"'
LINES TERMINATED by'\r\n'
ignore 1 lines
(id,name,value);

上面的 lines terminated by ‘\r\n’ 是 要求换行符号,为 windows的换行
上面的 ignore 1 lines是 忽略第一行的标题行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值