mysql基础-联合查询
/*
union 联合 合并:将多条查询语句的结果合并成一个结果
语法:
查询语句1
union
查询语句2
union
……
特点:
a.要求多条查询语句的查询列数是一致的;
b.要求多条查询语句的查询的每一列的类型和顺序最好一致;
c.union 关键字默认去重,使用 union all 显示重复信息
*/
DML语言
/*
数据操作语言:
插入:insert
修改:update
删除:delete
*/
1.插入语句
1.1、语法1:
insert into 表名(列名,…) values(值1,…);
插入的值的类型要与列的类型一致或兼容
1.2、语法2:
insert into 表名
set 列名=值,列名=值……
2.修改语句
2.1、修改单表的记录
语法:
update 表名
set 列=新值,列=新值…
where 筛选条件;
案例:修改 beauty 表中姓唐的女生的电话为13898588888
UPDATE beauty SET phone = '13858488888' WHERE NAME LIKE '唐%';
2.2、修改多表的记录
语法:
update 表1 别名
inner | left | right join 表2 别名
on 连接条件
set 列=值,…
where 筛选条件;
案例:修改刘明的女朋友的手机号为13595286128
UPDATE boys bo INNER JOIN beauty b ON bo.'id'=b.'boyfriend_id' SET b.'phone'='13595286128' WHERE bo.'boyfriend'='刘明';
3.删除语句
3.1、方式1:delete
a.单表的删除
语法:
delete from 表名 where 筛选条件
案例:删除手机号以9结尾的女生信息
DELETE FROM beauty WHERE phone LIKE '%9';
b.多表的删除
语法:
delete 表1的别名,表2的别名
from 表1 别名
inner | left | right join 表2 别名 on 连接条件
where 筛选条件;
案例1:删除刘明女朋友的信息
DELETE b FROM beauty b INNER JOIN boys bo ON b.'boyfriend_id' = bo.'id' WHERE bo.'boyname'='刘明';
案例2:删除黄鹏和他女朋友两人的信息
DELETE b,bo FROM beauty b INNER JOIN boys bo ON b.'boyfriend_id'=bo.'id' HWERE bo.'boyname'='黄鹏';
3.2、方式2:truncate
语法:
truncate from 表名;
特点:
不能加 where 条件,只能删除整个表
3.3、delete 和 truncate 两种删除之间的区别
3.3.1、delete 可以加 where 条件,truncate 不能加
3.3.2、truncate 删除效率更高
3.3.3、如果要删除的表中有自增长列,如果用 delete 删除后,再插入数据,自增长列的值从断点开始,而 truncate 删除后,再插入数据,自增长列的值从1开始
3.3.4、truncate 删除没有返回值,delete 删除有返回值
3.3.5、truncate 删除不能回滚,delete 删除可以回滚
浙公网安备 33010602011771号