为数据库中的表输入数据以及查询结果的导出

一、表中插入数据

1、insert into语法

1.insert into 语句输入数据
语法: insert into 表名(字段1,字段2,) values ……
		注:输入一行数据的话,用value
--  创建表
			create table fruit(f_id char(10) not null,
								s_id int not null ,
								f_name varchar(255) not null,
								f_price decimal(8,2) not null,
								primary key(f_id)); 
--  insert into 输入数据
insert into fruits(f_id,s_id,f_name,f_price)
			values('a1',101,'apple',5.2),
				  ('b1',101,'blackberry',10.2),
				  ('bs1',102,'orange',11.2),
				  ('bs2',105,'melon',8.2)

数据导入后要进行检验,称其为检验三部曲:
a.检验导入的内容
select * from 表名;
b.检验总行数
select count(*) from 表名;
c.检验表的结构
desc 表名 ;    

insert into语法的简洁写法

在这里插入图片描述
在这里插入图片描述

2、导入外部数据

Mysql5.0及之前的写法

导入外部数据(此方式在mysql8.0版本后就不适用啦)
load data local infile '文件路径'	 # 注意不能有中文					
into  table  表名
fields terminated by ','   # ,表示以逗号作为分隔符,初次此外还有以tab键作为分隔符,表示为 \t  ,通常是这两种情况。
ignore 1 lines;  #忽略第一行

Mysql8.0的写法

-- 查看数据存储的安全路径
show variables like '%secure%'; 
-- C:\ProgramData\MySQL\MySQL Server 8.0\Uploads #存储数据的起安全路径

导入外部数据的语法:
load data infile "C:\\ProgramData\\MySQL\\MySQL Server 8.0\\Uploads\\Sales.csv"
into table Sales
fields terminated by ','
ignore 1 lines;

3、 将csv文件快捷导入数据的方法

数据库中有能够将csv文件导入数据库的快捷方式:
具体步骤:
1.选取数据库
2.选中数据库的tables,右键,选取Table Data Import Wizard
在这里插入图片描述
3.在这里插入图片描述
4.
5.在这里插入图片描述
6.在这里插入图片描述
7.在这里插入图片描述
8.完成在这里插入图片描述

二、如何将查询好的数据导出到excel等文件

1、直接简单粗暴的方式是,将查询结果通过mysql设置的按钮导出,导出的格式默认是csv格式且没有别的选择。

2、第二种是写语法

SELECT * FROM  
WHERE 字段=字段值 
INTO OUTFILE '(路径)' 
FIELDS TERMINATED BY ','  #终止形式(一行一什么结尾)
ESCAPED BY '"'  #过滤
OPTIONALLY ENCLOSED BY '"'  
LINES TERMINATED BY '\r\n'; #终止行

小案例:
select * from 
(select a.id,a.dates,a.temp from weather a cross join weather b
on timestampdiff(day,a.dates,b.dates)=-1 where a.temp>b.temp) m
where m.temp>25
into outfile 'C:\\ProgramData\\MySQL\\MySQL Server 8.0\\Uploads\\121.csv'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\r\n'; 

3、第三种 数据中存在中文内容

一、单表导出
#from后面如果是查询得到的表,需要一个名字
SELECT 字段1,CONVERT((字段2) USING gbk) AS '字段1别名 ',
CONVERT((字段3) USING gbk) AS ‘字段3别名’ FROM 表名 [筛选条件] INTO OUTFILE ‘路径’ ;

解释:SELECT 表头别名1,表头别名2 UNION SELECT 字段1,字段2 FROM 表格 筛选条件
1.SELECT 表头别名1,表头别名2 #手动写表头字段别名
2.UNION:联合
3.SELECT 字段1,字段2 FROM 表格 筛选条件  筛选数据
二、多表同时导出
SELECT *  INTO OUTFILE '路径' 导出条件1 导出条件2 
FROM (SELECT '表头别名1','表头别名2' UNION SELECT 字段1,字段2 FROM 表格 筛选条件) b; 

注释:
1、解决中文乱码的方式是使用代码: CONVERT((字段) USING gbk)
2、即左表头 右数据,中间union

小案例:
SELECT *  INTO OUTFILE 'C:\\ProgramData\\MySQL\\MySQL Server 8.0\\Uploads\\125.csv' 
FIELDS TERMINATED BY ',' #以逗号分隔,还可以再添加其他条件
FROM (SELECT  CONVERT(('学生姓名') USING gbk),CONVERT(('科目名称') USING gbk),CONVERT(('成绩') USING gbk)
UNION 
SELECT CONVERT((s_name) USING gbk),CONVERT((c_name) USING gbk),CONVERT((score) USING gbk) FROM stu) b;

4、小节:导出数据的三种方式的应用场景

(1)、如果数据中存在中文,建议选择第三种方式 涉及CONVERT((s_name) USING gbk)函数
(2)、如果数据中不存在中文,可以选择直接导出或第二种方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值