数据库多表查询 联合查询 增删改查
1|0插入
1|1方式一
语法:
特点:
1、要求值的类型和字段的类型要一致或兼容
2、字段的个数和顺序不一定与原始表中的字段个数和顺序一致
但必须保证值和字段一一对应
3、假如表中有可以为null的字段,注意可以通过以下两种方式插入null值
①字段和值都省略
②字段写上,值使用null
4、字段和值的个数必须一致
5、字段名可以省略,默认所有列
1|2方式二
语法:
1|3两种方式的区别:
1.方式一支持一次插入多行,语法如下:
2.方式二支持子查询,语法如下:
2|0修改
一、修改单表的记录
语法:
二、修改多表的记录【补充】
语法:
3|0删除
3|1方式一:使用delete
一、删除单表的记录
语法:
delete from 表名 where 筛选条件 limit 条目数
二、级联删除[补充]
语法:
3|2方式二:使用truncate
语法:
truncate table 表名
3|3两种方式的区别【面试题】
- truncate删除后,如果再插入,标识列从1开始;delete删除后,如果再插入,标识列从断点开始
- delete可以添加筛选条件;truncate不可以添加筛选条件
- truncate效率较高
- truncate没有返回值;delete可以返回受影响的行数
- truncate不可以回滚;delete可以回滚
4|0基础查询
1.去除重复的记录distinct
select distinct address from stu;
2.查询时 as 来别名列明
select name as 名字 ,age as 年龄,from user;
SELECT userCode AS 名字 FROM smbms_user;
4|1语法:
4|2关于列的操作
1、查询所有列所有行
2、查询指定列
3、给列起别名
4、列查询并进行算术运算
5、多列进行合并为一列查询
6、查询过程增加常量列
5|0条件查询(where)
5|11、比较运算符作为处理条件
==(=,>,<,>=,<=,!=<>,如果是null,需要写为is\is not )==
5|22、多条件
1)同时满足(and)
2)或者(or)
3)模糊查询(like)
4)上下界(between)
6|0排序查询(order by)
6|1升序
6|2降序
6|3排序相等行,在进行排序
7|0分页查询(limit)
7|1公式
8|0聚合函数
关于某一列进行操作,和行没有关系
count() | 返回结果集中行的数目 |
---|---|
max() | 返回结果集中所有值的最大值 |
min() | 返回结果集中所有值的最小值 |
sum() | 返回结果集中所有值的总和 |
avg() | 返回结果集中所有值的平均值 |
8|1用法
聚合函数null值不参与运算,如果希望null值也参与那么需要**ifnull()**函数处理
9|0分组查询(group by)
9|1条件筛选(having)
group by后不可以使用where进行筛选,需要使用having关键字
如果能用where筛选数据的话,绝不使用having
where和having的区别?
- 都是进行条件判断的关键字
- where条件判断是在分组前判断,having条件判断是在分组后判断
- where关键字要写在group by前面,having关键字要写在group by后面
- where条件里不能写聚合函数,having条件里可以写聚合函数
10|0联合查询(union)
- 要求多条查询语句的查询列数必须一致
- 要求多条查询语句的查询的各列类型、顺序最好一致
- union 去重,union all包含重复项
11|0多表联合查询
笛卡尔积组合,形成数据没有价值
11|1内连接(inner join)
11|2外连接
左外连接(left)
右外连接(right)
11|3自连接
11|4去重(distinct)
12|0子查询
嵌套查询,就是指一个sql语句里面还有一条sql语句
将查询的结果(可以作为值,也可以作为表),再次被sql语句使用
12|1结果为一个值
12|2结果为一个表(多个值)
12|3any(满足该字段任何一个值,‘或’)
12|4all(满足该字段所有的值,‘且’)
12|5exists和in的区别
13|0扩展
13|1按照条件显示不同信息(case、when、then、else、end)
__EOF__

本文作者:小布丁
本文链接:https://www.cnblogs.com/am0304/p/16481567.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/am0304/p/16481567.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通