MySQL判断语句
前言学习一个新知识最好的方式就是上官网,所以我先把官网贴出来 MySQL官网 (点击查阅),如果大家有想了解我没有说到的东西可以直接上官网看哈~目前 MySQL 最新大版本为8.0,但是鉴于目前应用比...
2024.11.15作者:萌新J
出处:https://www.cnblogs.com/mengxinJ/p/14352038.html
MySQL 的主键可以是自增的,那么如果在断电重启后新增的值还会延续断电前的自增值吗?自增值默认为1,那么可不可以改变呢?下面就说一下 MySQL 的自增值。
特点保存策略1、如果存储引擎是 MyISAM,那么这个自增值是存储在数据文件中的;
2、如果是 InnoDB 引擎,1)在 5.6 之前是存储在内存中,没有持久化,在重启后会去找最大的键值,举个例子,如果一个表当前数据行里最大 id是10,AUTO_INCREMENT=11。这时候,我们删除 id=10 的行,AUTO_INCREMENT 还是 11。但如果马上重启实例,重启后这个表的 AUTO_INCREMENT 就会变成 10;
2)在 8.0 开始,自增值就保存在 redo log 中,重启后会从 redo log 中读取之前保存的自增值。
自增值的确定1、如果插入数据时 id 字段指定为0、null 或未指定,那么就把这个表当前的 AUTO_INCREMENT 值填到自增字段,并且 会以 auto_increment_offset 作为初始值, auto_increment_increment 为步长,找出第一个大于当前自增值的值作为新的自增值。
2、如果插入的数据的 id 字段指定了具体的值,就直接使用语句里的值。
自增值的修改假设某次要输入的值是 X,当前的自增值是 Y。那么:
1、如果 X
前言学习一个新知识最好的方式就是上官网,所以我先把官网贴出来 MySQL官网 (点击查阅),如果大家有想了解我没有说到的东西可以直接上官网看哈~目前 MySQL 最新大版本为8.0,但是鉴于目前应用比...
2024.11.15前言数据库的DDL(data define language)操作,主要是用在定义或者改变表结构、数据类型、表之间的链接关系和约束等初始化工作。一般在的时候会先自动提交之前没有提交的事务,然后在操作。...
2024.11.11创建视图需要有CREATE VIEW的权限,并且对于查询设计的列有select权限。如果使用CRESTE OR replace或者ALTER修改视图,那么还需要该视图的drop权限。创建视图的语法为:...
2024.11.14前言: 在 MySQL 中,系统支持诸多字符集,不同字符集之间也略有区别。目前最常用的字符集应该是 utf8 和 utf8mb4 了,相比于 utf8 ,utf8mb4 支持存储 emoji 表情,使...
2024.11.11一、约束(constraint)约束就是在表上强制执行的一种校验规则,当执行DML操作时,数据必须符合这些规则,如果不符合,将无法执行。约束的全称:约束条件,也称之为完整性约束条件。可以保证表中数据的...
2024.11.13