一、普通索引最基本的索引,只是加快了查询速度。 二、唯一索引与普通索引类似,不同的是:索引的列值必须唯一,但允许有空值,也就是 null,如果是组合索引,则列值的组合必须是唯一的。 三、主键索引即我们常用的主键 id, 它是一种特殊的唯一索引,不允许有空值,一般在建表时同时创建主键索引。
一、第一范式 对于数据库表中的每一个字段要独立存在,即要满足原子性,是不可再分割的。 二、第二范式 对于数据库表,一张表必须有一个主键,除外键以外的所有字段都要完全依赖于主键。 三、第三范式 非主键列要直接依赖主键,不能存在传递关系。
TP5的多对多关联 在AModel内建立与用户的多对多关联 controller内查找数据 然后在前端调用模板的循环方法输出 循环内调用多对多方法users 结果提示 一开始以为是因为数据不同步,中间表有的数据A表没有,或者A表有的数据中间表没有。所以 1.删了测试数据还是一
索引 可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。 聚集索引和非集聚索引 聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物理顺序。 非聚集索
目录一、索引的概念二、索引的作用三、索引的缺点四、创建索引的原则依据五、索引的分类和创建1、普通索引●直接创建索引●修改表方式创建●创建表的时候指定索引2、唯一索引●直接创建唯一索引:●修改表方式创建●创建表的时候指定3、主键索引●创建表的时候指定●修改表方式创建
目录一、MySQL数据库管理1、库和表2、常用的数据类型二、查看数据库结构三、SQL语句1、SQL语句分类:四、创建及删除数据库和表五、管理表中的数据记录六、修改表名和表结构七、自增八、填充九、克隆表十、清空表,删除表内的所有数据十一、创建临时表十二、创建外键约束,保证数据的完
1、MyBatis Plus MyBatis-Plus(简称 MP) MP 是一个基于 MyBatis 的增强工具,为简化开发、提高效率而生。 2、环境搭建 基于 Spring Boot 开发 示例:User(id, name, password) 创建数据库表 搭建 Spring Boot 项目 配置 创建实体类 编写 DAO 2.1、数据库表 逻辑主键:区分每个数
七、约束 约束是一种限制,它通过限制表中的数据,来确保数据的完整性和唯一性。使用约束来限定表中的数据很多情况下是很有必要的。在 MySQL 中,约束是指对表中数据的一种约束,能够帮助数据库管理员更好地管理数据库,并且能够确保数据库中数据的正确性和有效性。例如,在数据表中存放年龄
在开发中由于之前的项目使用的是mysql数据库,数据表的主键使用的是mysql自增策略生成,现在需要替换数据库为oracle;但是orcle不支持主键自增策略,此次不得不寻求替代方案 --- oracle的序列 首先了解下序列是什么 序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号,产生一组
1.join的使用 如果使用join,优化器将自己选择驱动表;使用straight_join,左边的为驱动表。 NLJ(index nested loop join):从驱动表中读一行(全表扫描),按照join条件获取索引到被驱动表中取出一行(索引查找,如果是非主键索引还有一次回表),将俩行组成结果集。此时让大表作为被驱动较好,能使用上被
1.时间格式报错 2.问题描述:不能向表中插入数据 报错信息: 268: Unique constraint (informix.u151_54) violated. 100: ISAM error: duplicate value for a record with unique key. 表创建了主键,主键所包含的字段不能重复,而表中已经存在了正在入的数据,导致出错 处理步骤:
public class SYSDEA : Entity<string> { /// <summary> /// 无效Id /// </summary> [NotMapped] public override string Id => $"{DEA001}-{DEA002}"; /// <summary> /// 类别
数据库的字段属性 学前须知:表格的设置在如下位置 字段属性表格展示 字段属性 描述 Unsigned 无符号的整数,该列不能被声明为负数 zerofill 零填充,不足的位数使用0来填充。例如:int(3),5 -->005 autoincrement 自增:自动在上一条记录的基础上+1(默认)通常用于设置唯一的主键 i
mybatisplus只支持一个主键mpp支持多个字段联合主键增删改查,mapper需要继承MppBaseMapper实体类中联合主键的字段需要用@MppMultiId注解修饰如果需要在service使用多主键相关操作,可以直接继承IMppService接口 mybatisplus分页与排序是绑定的mpp优化了分页插件,使用MppPaginationInt
1. 合理使用范式和反范式 MySQL的三范式: 1NF(第一范式):字段不可分; 2NF(第二范式):有主键,非主键字段依赖主键; 3NF(第三范式):非主键字段不能相互依赖; 解释: 1NF:原子性 字段不可再分,否则就不是关系数据库; 2NF:唯一性 一个表只说明一个事物; 3NF:每列都与主键有直接关系,不存在传递依
SQL的概述 Structure Query Language(结构化查询语言)简称SQL,它被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准,后被国际化标准组织(ISO)采纳为关系数据库语言的国际标准。数据库管理系统可以通过SQL管理数据库;定义和操作数据,维护数据的完整性和安全性。 SQL的分类 1、DD
书写高质量sql的一些建议 It's better to light a candle than to curse the darkness 老生常谈的不要使用select * 如果硬要使用select *,那么就请忍受一下以下几种可能会出现的问题 select * 每次都把所有的字段查询出来,但并不是每个字段都是必要的,会造成额外的传输带
首先在postgres中设置一个id字段,其类型设置为int型 由于postgres并没有想mysql数据库那样可以直接设置主键自增,所以需要创建一个序列,然后将id设置为默认值字段为序列的nextval 具体操作如下: 创建序列: create sequence tb_id_seq start with 1 increment by 1 no minva
数据库的设计其实也可以说是表的设计,需要用到外键约束。 数据库的设计可以分为三种方式: 一对多实现方式 在多的一方建立外键,关联一的一方的主键 多对多实现方式 建立第三张中间表 中间表至少要包含两个外键,分别关联双方的主键 一对一实现方式 在任意一方建立外键,关联对方
1.锁的一些基础 锁是为了保护并发场景中临界资源,保证其有序变更。锁的粒度越粗,锁住的范围越大,并发度越低。 2.本文中主要探讨常用的一些锁:行锁、间隙锁、next-key lock、表级锁、MDL。 3.行锁 分为两类,共享锁S,排他锁X,对同一行数据而言,S可以兼容S,X不能兼容其他锁。 意向锁:对小粒度
目录 字符编码 存储引擎 创建表的完整语法 字段类型之整型 字段类型之浮点型 字段类型之字符串 数字含义 字段类型之枚举与集合 字段类型之日期类型 字段类型约束条件 内容 字符编码 查看MySQL默认字符编码 \s 5.x系列显示的编码有很多种:Latin1;gbk 8.x系列
字符编码与配置文件 查看MySQL默认字符编码:\s 如果是5.X系列,显示的编码有多种:latin1;gbk如果是8.X系列,显示的统一是:utf8mb4;utf8mb4是utf8优化版本,支持存储表情。 统一字符编码: 5.X默认编码有多种,可能会导致乱码的情况,所以应该统一编码。 使用my-default.ini配置文件来统一字符
为什么不推荐select * from 1. 不必要的磁盘I/O 对于无用的大字段,如 varchar、blob、text,会增加 io 操作,准确来说,长度超过 728 字节的时候,会先把超出的数据序列化到另外一个地方,因此读取这条记录会增加一次 io 操作。(MySQL InnoDB) 2. 不需要的列会增加数据传输时间和网络开销 保不
一、表的创建和数据类型 建表的语法格式 建表语句属于DDL语句,DDL包括:create、drop、alter create table <表名>( <字段名> <数据类型>, <字段名> <数据类型>, <字段名> <数据类型> ); 注意:表名和字段名都属于标识符。要见名知意!! 表名:建议以 t_ 或 tbl_ 开始,可读性强。
insert 标签常用属性 insert 标签中常用的属性如下表。 传递多个参数 在上面的示例中,我们在插入语句中只使用了一个 String 类型的参数,而在实际的开发过程中,我们的插入语句往往需要使用多个参数,Mybatis 为我们提供以下 3 种