-
自连接
-
同一个进行关联 (笛卡尔积,内连接,外连接)
-
省市区 – https://blog.csdn.net/black1499/article/details/84571885
SELECT
guo.Name
‘国家’,
sheng.Name
‘省’,
shi.Name
‘市’,
qu.Name
‘区’
from china guo
LEFT JOIN china sheng on sheng.pid= guo.id
LEFT JOIN china shi on shi.pid = sheng.id
LEFT JOIN china qu on qu.pid = shi.id
where sheng.Name
= “江苏省”
and shi.Name
= “南京市”
and qu.Name
=“高淳区” -
子查询
将我们查询结果集当成一张表 -
group by / having
1)group by ---- 结合统计函数使用 (统计函数 sum() count() min() max() avg() )
2)Having – 在分组的条件下,进行条件筛选(有having 一定有group by ) -
order by – 排序 (asc 默认 升序 ; desc 降序)
-
limit m,n m --从第几条开始 n – 每页显示的条数
-
统计函数 sum() - 求和 count() – 总记录数 min() – 最小值 max() --最大值 avg() – 平均值
-
exists() / not exists() – 短路 (返回结果是boolean ) – true - 继续查询;false – 不查了
-
union /union all 合并 union – 去重 union all - 全部
-
数学函数
https://www.cnblogs.com/tongxuping/p/7436090.html
字符串函数
https://www.cnblogs.com/geaozhang/p/6739303.html
日期和时间函数
https://www.cnblogs.com/alphajuns/p/9909153.html
系统信息函数
https://www.cnblogs.com/Damocless/p/11993181.html -
约束 — 对表字段的限制
(1)非空约束 not null
(2)唯一约束 unique not null
(3)主键约束 primary key
(4)外键约束 foreign key -
事务
(1)事务特性ACID
①原子性 – 一个事务不可分割的最小单位,要么做,要么不做
②一致性 – 事务结束之后,数据都是合法
③隔离性 – 不同事务之间,不会互相干扰
④持久性 – 事务一旦提交,数据就是永久的
(2)事务语法
①开启事务
②关闭自动提交模式
③一组sql 语句
④提交/回滚
⑤开启自动提交模式
-- 开启事务
start TRANSACTION ;
-- 关闭自动提交模式
set autocommit =0;
UPDATE student
SET money = money - 50
WHERE
id = 1;
UPDATE student
SET money = money + 50
WHERE
id = 2;
SELECT * from student;
ROLLBACK; -- 回滚事务
-- COMMIT; -- 提交事务
SELECT * from student;
set autocommit =1;
- 索引
(1)作用
①提高查询速度
②确保数据的唯一性
③可以加速表和表之间的连接,实现表与表之间的参照完整性
④使用分组和排序子句进行数据检索时,可以显著减少分组和排序的时间
⑤全文检索字段进行搜索优化
(2)注意事项
①不是越多越好
②经常改动的字段不适合添加索引
③经常在where 条件之后出现的适合索引
④数据量比较少的数据,不建议添加索引
(3)常见的索引
①主键索引 –
②外键索引
③唯一索引
④常规索引 index
(4)添加索引
a.创建表的时候添加索引
b.修改表的时候
2)删除索引
3)查看