
MySQL数据库
文章平均质量分 51
王也`
这个作者很懒,什么都没留下…
展开
-
mysql数据库分页查询,limit语句用法
limit语句格式:select * from table limit [offset,] rows offset:表示偏移量,这个偏移量是从0开始的,不是从1开始的。rows: 表示要查询的数据行数select * from comment limit 5,2结果:select * from commit limit 2结果:分页查询:分页查询里有个公式:假设limit 第一个个参数是index,第二个参数是pageSize,那么current.原创 2022-05-15 23:20:06 · 2602 阅读 · 0 评论 -
MySql中的行锁,表锁
1、行锁作用在数据行上加锁机制:在一个事务中当进行数据访问时比如:select * from persion where name="张三"如果persion 表存在name索引,那么行锁进仅仅加在了name=“张三”的这一行的上面。如果不存在name索引的话,因为MySql数据库不知道sql语句访问的是那条数据,所以会对所有数据行加锁。但是这种加锁方式是非常影响并发效率的,所以MySql server会将不满足条件的数据行取消锁。即时如此还是会影响并发度,所以对数据的访问尽量走索引。原创 2022-04-11 19:13:14 · 3085 阅读 · 0 评论 -
正确理解MySql的MVCC实现原理
原创 2022-04-11 15:10:52 · 872 阅读 · 0 评论 -
MySql中乐观锁、悲观锁与MVCC
文章目录一、事务并发带来的问题二、正确了解乐观锁与悲观锁悲观锁乐观锁对乐观锁和悲观锁的正确认识三、乐观锁与悲观锁的实现共享锁和排他锁悲观锁的实现方式乐观锁的实现方式四、MVCC(多版本并发控制)快照读与当前读乐观锁、悲观锁、MVCC比较五、总结一、事务并发带来的问题事务并发总结起来有三种场景:读-读:不存在任何问题,也不需要并发控制读-写:有线程安全问题,可能会造成事务隔离性问题,可能遇到脏读,幻读,不可重复读写-写:有线程安全问题,可能会存在更新丢失问题,比如第一类更新丢失,第二类更新丢失原创 2022-04-11 00:11:23 · 1825 阅读 · 0 评论 -
Mysql数据库的事务隔离机制
文章目录一、事务特性(ACID)二、事务并发带来的问题三.不同的事务隔离机制一、事务特性(ACID)原子性: 事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用;一致性: 执行事务前后,数据保持一致,例如转账业务中,无论事务是否成功,转账者和收款人的总额应该是不变的;隔离性: 并发访问数据库时,一个用户的事务不被其他事务所干扰,各并发事务之间数据库是独立的;持久性: 一个事务被提交之后。它对.原创 2022-04-10 17:01:44 · 1808 阅读 · 0 评论 -
sql优化
SQL优化的一些方法1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=0 3.应尽量避免在 where 子句中使用!原创 2022-04-08 00:16:25 · 71 阅读 · 0 评论 -
sql中的替换函数replace()总结
1、替换函数replace()语法:REPLACE( string_expression , string_pattern , string_replacement )参数:string_expression:字符串表达式string_pattern:想要查找的子字符串string_replacement:想要替换成的子字符串创建表CREATE TABLE `test_tb` (...原创 2022-03-03 11:11:01 · 13025 阅读 · 0 评论 -
Mysql 数据库插入
# mysql中常用的三种插入数据的语句:# insert into表示插入数据,数据库会检查主键,如果出现重复会报错;# replace into表示插入替换数据,需求表中有PrimaryKey,# 或者unique索引,如果数据库已经存在数据,则用新数据替换,如果没有数据效果则和insert into一样;# insert ignore表示,如果中已经存在相同的记录,则忽略当前新数据;...原创 2022-03-02 10:44:45 · 788 阅读 · 0 评论 -
sql 窗口函数
窗口函数1、专用窗口函数2、聚合函数一、应用场景:1、排名问题2、top N 问题二、专用窗口函数种类1、rank()按照某字段的排序结果添加排名,但它是跳跃的、间断的排名,例如两个并列第一名后,下一个是第三名。SELECT Score,rank() over(ORDER BY Score desc) as 'Rank' FROM score2、 row_number()它是将某字段按照顺序依次添加行号。SELECT Score,...原创 2022-02-22 20:13:47 · 193 阅读 · 0 评论 -
sql中的limit用法
格式:select * from tableName limit i,n# tableName:表名# i:为查询结果的索引值(默认从0开始),当i=0时可省略i# n:为查询结果返回的数量# i与n之间使用英文逗号","隔开# limit n 等同于 limit 0,n原创 2021-12-30 13:30:19 · 574 阅读 · 0 评论 -
SQL 联表查询的三种方式:左连接、右连接、内连接、默认连接
数据库表:blog表:user表:左连接:以左表为主表,查询出满足条件的内容。查询到的内容是左表全部的内容,和右表满足要求的内容。可能会出行右表内容为为空的可能。select b.id,b.title,u.name from blog b left join user u on u.id=b.user_id查询结果:右连接:以右表为主表,查询出满足条件的内容。查询到的内容是右表全部的内容,和左表满足要求的内容。可能会出行左表内容为为空的可能。左连接和右连接是相反的情况..原创 2021-11-02 19:10:21 · 14755 阅读 · 0 评论