一,union联合  合并:将多条查询语句的结果合并成一个结果。

语法就是

查询语句一

union

查询语句二

引入的案例:查询部门编号大于九十,或者邮箱包含a的员工信息

select * from emp where deptno>90 or email like"%a%";
select * from emp where deptno>90
union
select * from emp where  email like"%a%";

应用场景:

案例二:查询中国用户男性的用户信息,以及外国用户男性的信息。

将两个查询语句结合就行了

select  * from  t_ca  where  sex=“男”

union

select * from t_u where tGender='male'

要查询的数据来自不同的多个表,且这多个表都没有直接的关系。但查询的信息是一样的,就使用联合查询。

特点:要求查询的列数必须是一样的

要求查询的顺序和列数是一致的

union  会进行去重。  使用  union  all  可以避免去重。

插入语句的方式一

DML语言:数据操作语言:插入,修改,删除

insert  update,delete

语法:往表中添加数据,属性名,属性值,表名,

insert into 表名(列名,....)values (值,值,值,值);

(1)要求插入的值得类型要与列的值类型一致或者兼容。

(2)不可以为null的列必须插入值,可以为null的列是如何插入值呢?

直接不写。

(3)列的顺序是否可以进行调换,不过属性值要与列一一对应。

(4)列的个数,必须要与值的个数一致。

(5)可以省略列名,默认是所有列,而且顺序与表顺序是一致的。

第二种方法:

语法:

insert into  表名

set  列名=值,列名=值、、、

两大方式的优点:方式一支持插入多行。insert into 表名  (列名 )values(),()

方式二不支持

方式一支持查询,方式二不支持查询。

insert into emp (id,name,phone)

select 26,‘宋茜’,‘11998091’;先查询,再将结果集插入到表中。

修改语句

修改单表中的记录,

修改多表中的记录。

update  表名  set  列名=新值(类型一致或者兼容)列=新值

where 筛选条件;

案例一:修改单表中的记录

update beauty set phone=‘11111111111’

where name like '唐%;

sq92语法:update 表一 别名,表二 别名

set 列=值

where  连接条件

and  筛选条件

sql99语法:

update 表一 别名,

inner/left/    join  表二 别名

on 连接条件

set 列=值

where  筛选条件

修改多表的记录

案例一:修改张无忌的女朋友手机号为12194192094;

先连接上两个表

update boy

inner join girl

on boid=grilid

set  num ='123214152'

where  name=‘张无忌’

删除语句

方式一:delete 语法: delete from 表名  where 筛选条件

实现单表删除,多表删除

方式二:truncate

语法truncate table 表名

方式一,单表的删除:删除手机号以9结尾的女神信息

delete from emp where phone like‘%9’;

删除黄晓明的信息以及他女朋友的信息

delete  b,bo

from beauty b

inner join boys bo on b.boyfriend_id=bo_id

where bo.boyname='黄晓明'

删除方式二:truncate语句

案例:将魅力值大于一百的男神信息删除(不可以加where)清空数据,一删全删。

truncate table boys

两者的区别:delete 可以加where 条件,truncate 不能加

2,truncate 删除,效率高一点点

3,假如要删除的表中有自增长列,如果用delete删除后,再插入数据,自增长列的值要从断点开始,而truncate删除后,再插入数据,自增长的值要从1开始。

若不理解,可自行实验

4,truncate不能够回滚事务,delete可以回滚事务。