MySQL day8

练习
在这里插入图片描述

分页查询

应用场景:当要显示的数据,一页显示不全,需要分页提交sql请求

语法:
select 查询列表
from 表
[join type join 表2
on 连接条件
where 筛选条件
group by 分组字段
having 分组后的筛选
order by 排序的字段]
limit offset , size;
(起始索引) 个数

 offset  要显示条目的起始索引(起始索引从0开始)
 size  要显示的条目个数

特点:
1.limit语句放在查询语句的最后
2.公式
要显示的页数page,每页的条目数size
select 查询列表
from 表
limit (page-1)* size,size;

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

联合查询

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

语法:
查询语句1
union
查询语句2

应用场景:
要查询的结果来自于多个表,且多个表没有直接的连接关系,但查询的信息一致时

特点:
1、要求多条查询语句的查询列数是一致的
2、要求多条查询语句的查询的每一列的类型和顺序最好一致
3、union关键字默认去重,如果使用union all 可以包含重复项
在这里插入图片描述

在这里插入图片描述
union all 可以包含重复项

在这里插入图片描述

DML语言

数操作语言:
插入:insert
修改:update
删除:delete

#一、插入语句
方式一:
语法:
insert into 表名(列名,…) values(值1,…);

方式二:
语法:
insert into 表名
set 列名=值,列名=值,…

方式一
在这里插入图片描述
方式二

在这里插入图片描述
方式一方式二比较

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

在这里插入图片描述

二、修改语句

1.修改单表的记录

语法:
update 表名
set 列=新值,列=新值,…
where 筛选条件;
2.修改多表的记录[补充]

语法:
sql92语法
update 表1 别名,表2 别名
set 列=值,…
where 筛选条件
and 筛选条件;

sql99语法:
update 表1 别名
inner|left|right join 表2 别名
on 连接条件
set 列=值,…
where 筛选条件;

在这里插入图片描述

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

删除语句

方式一:delete
1、单表的删除
delete from 表名 where 筛选条件 (没有筛选条件就删除全部)(删除是整行一起删除)
2、多表的删除
sql92语法:
delete 表x的别名(删除谁 就写谁)
from 表1 别名,表2 别名
where 连接条件
and 筛选条件;

sql99语法:
delete 表x的别名(删除谁 就写谁)
from 表1 别名
inner|left|right join 表2 别名 on 连接条件
where 筛选条件

方式二: truncate
语法:truncate table 表名;

#delete 和 truncate 比较

1.delete 可以加where 筛选条件,truncate不能加
2.truncate删除,效率高一点点
3.假如要删除的表中有自增长列,
如果用delete删除后,再插入数据,自增长列的值从端点开始,
而truncate删除后,再插入数据,自增长列的值从1开始
4.truncate删除没有返回值,delete删除有返回值
5.truncate删除不能回滚,delete删除可以回滚
~~方式一:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值