点击蓝字“程序员考拉”欢迎关注!
一.更新表
1.插入新的一行。
2.使用另一个表中的行来填充一个表(从一个表中向另一个表中复制数据)。
3.更新行中的值。
4.替代已有的行
使用INSERT INTO可以把新行添加到表中,但是添加的新行中的主键和已经存在的主键重复的时候,拒绝加入;使用REPLACE可以在主键重复的情况下添加新行到表中。
使用REPLACE的前提是表中必须有主键,否则报错。
5.从一个表中删除行–DELETE
和UPDATE一样,ORDER BY和LIMIT也可以在一条DELETE语句中指定:
6.TRUNCATE语句–所有的行都一次删除
删除所有的委员会成员:
TRUNCATE TABLE COMMITTEE_MEMBERS
二.载入和卸载数据
1.概念
将数据取到数据库外面,并且存储到一个输出文件中,这个过程叫卸载数据,相反的过程叫载入数据。
2.卸载数据
卸载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';
3.INTO赋值给用户变量,只有当SELECT语句只返回一行的时候才有效。
4.载入数据
事先创建一个空表TEAMS,将RE_SALARY.txt文件中的数据载入到TEAMS表中:
RE_SALARY.txt文件中的数据:
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';
如果指定了关键字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);
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';