Mysql的复习资料

这篇博客详细介绍了MySQL的相关知识,包括数据库三大范式、约束、索引优化、报表函数、JDBC操作规范、MyBatis的使用以及缓存和数据库优化策略。还强调了SQL注入、事务处理、乐观锁与悲观锁的概念,提供了Java操作数据库的实例。
摘要由CSDN通过智能技术生成

目录

1.增删改

2.数据库三大范式

3.数据库约束

4.索引(数据量大100w上)

5.报表函数(聚合函数)

6.jdbc Java操作数据库规范

1.步骤

2.sql 注入

3.事务

4特性

4.数据库隔离级别

5.乐观锁,悲观锁

6.数据库引擎**

7.mybatis

8.级联

9.一级缓存

10.二级缓存:

11.数据库优化

12.标签

13.#{id} 和${id}



1.增删改



2.查询:模糊 like 【% 0个或多个字符 ,_一个字符】
3.子查询 select * from sys_menu where parent_id in(select menu_id from sys_menu where parent_id=1)
4.级联 select * from sys_user u left join sys_dept sd on u.dept_id = sd.dept_id
4.1内联(inner join)两边表数据不能为空时才显示该数据。
4.2外联(left/right outer  join:outer 可以省略)以哪边表为主,为主的表数据全部展示,右边表未对上的为空。
5.分组 select dept_id,count(*) from sys_user group by dept_id
select sd.name, count(*)
from sys_user u
         left join sys_dept sd on u.dept_id = sd.dept_id
where sd.name is not null
group by sd.dept_id
having count(*) > 3
6.排序 order by username asc ,mobile desc 

7.分页 select * from sys_user limit 0,5 从第一条开始向后取5条  page,size,maxId
分页优化  select * from sys_user where id>258945 limit 10000,5 
oacle:子查询加 rownum
select *
from(
select rownum rn,el.*from(
select * from emp order by sal desc) e1where rownum<=10
where e.rn>5

8.distinct select distinct name,icon,type from sys_menu


2.数据库三大范式



一:字段不可再分
二:要有主键,每条记录都要能被唯一区分。
三:外键只能关联主键,不应该增加其他冗余字段。

3.数据库约束



主键
非空
唯一
自动增长
默认值
枚举

4.索引(数据量大100w上)



类似于字典的目录,提升查询性能 B+树,避免全表扫描
1.单列索引 索引里面只有一个字段 select * from user where dept_id =6
2.组合索引 多个字段用来做一个索引(dept_id, name,age)  select * from user where dept_id =6 and name ='张三' order by age
mysql:唯一索引(唯一约束),普通索引(单列和组合),全文索引 Text类型里面查找某个单词。不支持中文。


5.报表函数(聚合函数)



sum
avg
max
min
count

6.储存过程 数据库的一个方法,方法可以传入参数,执行返回数据,里面可以有循环,判断。
CREATE PROCEDURE sp_customers(IN cusid INT)
BEGIN 
  SELECT * FROM customers WHERE `客户ID`=cusid;
END;

CREATE PROCEDURE sp_customers_out(OUT cusname VARCHAR(20))
BEGIN
  SELECT cusname;
  SELECT `姓名` INTO cusname FROM customers WHERE `客户ID`=1;
  SELECT cusname;
END
https://blog.csdn.net/ReincarnationArm/article/details/124572991
7.触发器 3类(增删改)6个(没类有两个,之前和之后)
8.视图  基于原表的一条查询语句生成的一张临时表。可以进行增删改查,数据会影响原表。
阿里代码规范(java)明确要求不能使用  储存过程、触发器、视图  。影响数据库性能。


6.jdbc Java操作数据库规范



1.步骤



加入数据库驱动包

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值