DeepSeek速成巩固java第四期SQL基础和数据库优化。

SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)

MySQL和SQL  Server是关系型数据库。

SQL语句:

creat:

creat table persons (

A int;

B varchar(255);

);

insert:

insert into persons values (1,'b');

select:

select * from persons;

select distinct  A from persons;

select * from persons where A='1'

and B='b';//or B='b';

当and和or同时使用的时候:

select * from person where (A=’1‘ or B=’b‘) and B=’c‘;

select * from person order by A asc/des;

update:

update person set A=’2‘;

delete:

delete from person where A='1';

drop:

drop table person;

SQL高级语句:

like:

'%a'开头,'%b%'居中,'c%'结尾。

in:

SELECT * FROM Persons WHERE LastName IN ('Adams','Carter');

between and:

SELECT * FROM Persons WHERE LastName BETWEEN 'Adams' AND 'Carter';

常用函数:

avg:

select avg(orderno) from orders;

count:

select count(distinct city) from persons;

max,min,sum:

select max(orderno) from orders;

select min(orderno) from orders;

select sum(orderno) from orders;

group by:

select lastname,count(city) from persons 
where city='Beijing' 
group by lastname;

数据库优化:

设计优化:

分表,分页,

limit按照范围,

还有全局按照union合并

规范化设计:按照范式。

查询优化:

避免全表扫描,避免用*,避免where语句写的很复杂用函数或者排序,

索引优化:
维护复合索引,避免过多索引。

多表联查:

  • INNER JOIN:返回两个表中匹配的行。

  • LEFT JOIN:返回左表的所有行,即使右表没有匹配。

  • RIGHT JOIN:返回右表的所有行,即使左表没有匹配。

  • FULL JOIN:返回两个表中所有行,无论是否匹配。

  • CROSS JOIN:返回两个表的笛卡尔积。

SELECT a.id, a.name, b.order_id
FROM users a
INNER JOIN orders b ON a.id = b.user_id;

这里细腻去看。

事务隔离级别:

读未提交:可能导致脏读,可能读到未提交的数据。

读已提交:避免了脏读,但可能导致“不可重复读”,在同一数据读到不同。

可重复读:避免了脏读和不可重复读,但可能导致“幻读”,在同一数据范围读到不同。

串行化:避免了脏读、不可重复读和幻读,但并发性能最差,可能导致大量锁争用。

数据库中各种锁:

行锁:

它允许多个事务同时访问表的不同行,但同一行只能被一个事务访问。订单系统中使用。

表锁:

当一个事务对表加锁时,其他事务无法访问该表的任何数据。整个数据全部移除给其他的表。

乐观和悲观锁:

乐观锁假设事务之间的冲突较少作数据时不加锁,而是在提交时检查数据是否被其他事务修改。

适合读多写少,用于电商用户浏览商品。

悲观锁假设事务冲突最多,因此在操作数据时直接加锁,确保其他事务无法修改数据。

适合写多读少,用于多用户抢购商品。


 


 


 


 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值