DML的基本操作(2)

多表查询

1.join连接
join连接分为:内连接 [inner] join on和外连接。
外连接又分为:左外连接 left [outer] join on,右外连接 right [outer] join on。
案例1:查询哪个部门没有员工
左外连接(左边的为主表):
在这里插入图片描述
右外连接(右边的为主表):
在这里插入图片描述
内连接(自连接):
在这里插入图片描述
非等值连接:
在这里插入图片描述
多表查询需要避免笛卡尔积的出现,所以需要用外键将表关联起来,n张表就需要n-1个条件去关联。

常见函数

1、字符函数
在这里插入图片描述

2、数字函数
在这里插入图片描述
3、日期函数
在这里插入图片描述

子查询

本质就是select语句的嵌套使用,具体使用需要分析需求
按结果集的行列数不同:
标量子查询(结果集只有一行一列)
列子查询(结果集只有一列多行)
行子查询(结果集有一行多列)
表子查询(结果集一般为多行多列)

分页查询

关键字:limit
语法:limit page ,size/limit 【offset,】size;
要显示的页数 page,每页的条目数size
offset要显示条目的起始索引(起始索引从0开始)
size 要显示的条目个数
limit要放在查询语句的最后

DML语言

对数据库表数据进行增删改的操作
1.增
语法:INSERT INTO table [(column [, column…])]
每次只能往数据表中增加一行数据
也用于从其他表拷贝数据

2.改
使用 UPDATE 语句更新数据。
UPDATE 表明
SET 列名= value [, column = value, …]
[WHERE condition];
where用于做具体定位

• 可以一次更新多条数据。
• 如果需要回滚数据,需要保证在DML前,进行
设置:SET AUTOCOMMIT = FALSE;.

3.删
删数据有两种方法:DELETE和truncate
区别在于:
1.delete 可以加where 条件,truncate不能加

2.truncate删除,效率高一丢丢

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

4.truncate删除没有返回值,delete删除有返回值

5.truncate删除不能回滚,delete删除可以回滚.

DELETE 的语法:
DELETE FROM 表名
[WHERE condition];
where用于做具体定位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值