MySQL查询和更新数据(二)

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> MySQL查询和更新数据(二)

点击蓝字“程序员考拉”欢迎关注!

MySQL查询和更新数据(二)

一.更新表

1.插入新的一行。

MySQL查询和更新数据(二) MySQL查询和更新数据(二)

2.使用另一个表中的行来填充一个表(从一个表中向另一个表中复制数据)。

 

MySQL查询和更新数据(二)

 

3.更新行中的值。

 

MySQL查询和更新数据(二)

MySQL查询和更新数据(二) 

4.替代已有的行

使用INSERT INTO可以把新行添加到表中,但是添加的新行中的主键和已经存在的主键重复的时候,拒绝加入;使用REPLACE可以在主键重复的情况下添加新行到表中。

MySQL查询和更新数据(二)

使用REPLACE的前提是表中必须有主键,否则报错。

 

5.从一个表中删除行–DELETE

 

MySQL查询和更新数据(二)

和UPDATE一样,ORDER BY和LIMIT也可以在一条DELETE语句中指定:

 

MySQL查询和更新数据(二)

 

6.TRUNCATE语句–所有的行都一次删除

删除所有的委员会成员:


TRUNCATE TABLE COMMITTEE_MEMBERS

二.载入和卸载数据

1.概念

将数据取到数据库外面,并且存储到一个输出文件中,这个过程叫卸载数据,相反的过程叫载入数据。

2.卸载数据

 

MySQL查询和更新数据(二)

 

卸载RE_SALARY中的所有数据,在值之间添加‘,’进行分隔,行之间进行换行:

 


SELECT * FROM RE_SALARY INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/RE_SALARY.txt' FIELDS TERMINATED BY ',' LINES TERMINATED BY 'rn';

 

卸载RE_SALARY中的所有数据,在值之间添加‘,’进行分隔,行之间进行换行,并把所有的字符值放在双引号之间:

 


SELECT * FROM RE_SALARY INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/RE_SALARY.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY 'rn';

 

MySQL查询和更新数据(二)

 

3.INTO赋值给用户变量,只有当SELECT语句只返回一行的时候才有效。

 

MySQL查询和更新数据(二)

 

4.载入数据

 

事先创建一个空表TEAMS,将RE_SALARY.txt文件中的数据载入到TEAMS表中:

 

RE_SALARY.txt文件中的数据:

 

MySQL查询和更新数据(二)

 


LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/RE_SALARY.txt' REPLACE INTO TABLE TEAMS FIELDS TERMINATED BY ',' LINES TERMINATED BY 'rn';

 

MySQL查询和更新数据(二)

 

如果指定了关键字REPLACE,并且如果表中有行的主键的值或一个唯一索引的值等于输入文件的一行的这些值,那么新的数据会覆盖掉已有的数据。当指定 了IGNORE,新的数据会被忽略,并且不会给出错误消息。如果两个关键字都没指定,并且已经出现了一个值,将会返回一条错误信息并停止载入。

 

5.通过包含列名,我们可以确定文件中的哪个值必须进入哪一列。

 


LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/RE_SALARY.txt' REPLACE INTO TABLE TEAMS FIELDS TERMINATED BY ',' LINES TERMINATED BY 'rn' (ID,NAME,POS,DEP,SAL);

 

MySQL查询和更新数据(二)

 

6.载入txt文件并且将NAME列重新赋值:

 


LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/RE_SALARY.txt' REPLACE INTO TABLE TEAMS FIELDS TERMINATED BY ',' LINES TERMINATED BY 'rn' SET NAME='XXX';

 

MySQL查询和更新数据(二) MySQL查询和更新数据(二)
本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> MySQL查询和更新数据(二)


 上一篇
SELECT语句(一) SELECT语句(一)
点击蓝字“程序员考拉”欢迎关注! 一.FROM子句 1.新建一个database EXTRA,在EXTRA中新建一个表CITIES.     如果一个表表达式包含FROM子句,处理过程从这个子句开始。   2.FROM子句中的表指定
下一篇 
SELECT语句(二) SELECT语句(二)
点击蓝字“程序员考拉”欢迎关注! 一.SELECT子句和聚合函数 1.选取所有列 SELECT * FROM TABELNAME  当一个FROM子句包含两个表或多个表,需要在*符号前使用一个表指定: SELECT PENA