MySQL
文章平均质量分 90
MySQL数据库
JJJ MODEST
追风赶月末留名
展开
-
如何理解MySQL隔离性---3个记录隐藏字段、undo日志、Read View
Read View就是事务进行 快照读 操作的时候生产的 读视图 (Read View),在该事务执行的快照读的那一 刻,会生成数据库系统当前的一个快照,记录并维护系统当前活跃事务的ID(当每个事务开启时,都会被分配一个ID, 这个ID是递增的,所以最新的事务,ID值越大)但如果是快照读,读取历史版本的话,是不受加锁限制的。该事务执行的快照读的那一 刻,会生成数据库系统当前的一个快照,记录并维护系统当前活跃事务的ID,其中最小的id放在up_limit_id中,最大的id放在low_limit_id中。原创 2023-08-10 17:10:59 · 1007 阅读 · 1 评论 -
MySQL事务
事务就是一组DML语句组成,这些语句在逻辑上存在相关性,这一组DML语句要么全部成功,要么全部 失败,是一个整体。这句话是不是很熟悉,这不就是原子性吗,一个操作要么做完要么不做,不存在做了一部分的情况。上面的概念可以理解为:一个SQL语句或者多个SQL语句的集合,就是集合。原子性:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中 间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个 事务从来没有执行过一样。原创 2023-08-09 14:32:06 · 157 阅读 · 0 评论 -
MySQL索引特性
可是,貌似这样也有效率问 题,在Page之间,也是需要 MySQL 遍历的,遍历意味着依旧需要进行大量的IO,将下一个Page加载到 内存,进行线性检测。当我们强制的展示所有的数据时,mysql会被操作系统kill掉,因为mysql检索数据需要将文件中的数据加载到内存中,当操作系统检测到mysql占用太多内存资源,就会将mysql这个进程终止。1.二叉搜索树,深度过深,意味着内存中要加载的数据就会很多,所以系统和硬盘的IO的次数增多,并且有可能退化成线性结构,效率更低。原创 2023-08-04 10:01:53 · 137 阅读 · 0 评论 -
MySQL表的增删改查
所以这样的语句可以执行,order by语句是最后执行的,前面的语句已经执行过english+math+chinese as total,所以这里的total就是english+math+chinese。我想显示ename但是我没有group by后跟ename,这样是错的。排序,基本是在select的最后才做的,尽管他的sql语句写在比较靠后的位置。当不指明插入哪一列时,默认是全列插入,所以value必须一一对应,不能省略。一般的场景中用到的最多的是insert与repalce。原创 2023-06-04 17:34:53 · 542 阅读 · 0 评论 -
MySQL表的约束
当定义外键后,要求外键列数据必须在主表的主键列存在或为null。案例:如果将班级表中的数据都设计在每个学生表的后面,那就会出现数据冗余,所以我们只要设计成让stu->class_id和myclass->id形成关联的关系=>外键约束.对上面的示意图进行设计:先创建主键表和从表:我们可以看见约束的体现。主表myclass中没有213班级,从表这时要插入213班级的同学,MySQL就会阻止插入。原创 2023-05-16 20:31:19 · 373 阅读 · 2 评论 -
MySQL表的操作
如果该列的数据类型的大小是20字节,想改成10字节,那数据怎么截取,这都是问题,所以我们在建表的时候就要考虑周全。在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型, 表的存储引擎等等。collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准。突然,因为我们增加了个新用户,名字比较长,我们需要修改下name的数据类型。文件系统中当前的数据库的目录之下,会有刚创建的表的相应的文件。这样看是改好了,但是查看建表细节,就会发现name没有了注释。原创 2023-05-05 20:28:28 · 415 阅读 · 0 评论 -
MySQL库的操作
MySql对大小写不敏感实际上我们应该打大写,库的名字加上``,我们使用的场景是一般在该名字与MySql中的关键字起冲突的情况下。至于修改数据库的名字在Mysql中是被禁止的,这是有他自己的考量。我们知道这些数据库都是以目录形式存在于我们的文件系统中,通常数据库的数据默认存储在/var/lib/mysql中。我们建立一个默认的database,在该数据库的目录下的dp.opt文件中,我们看到该数据库的字符集和检验规则。对数据库的修改主要指的是修改数据库的字符集,校验规则。原创 2023-05-05 16:27:37 · 494 阅读 · 0 评论