首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MYSQL数据库-表约束

1、空属性 两个值:null(默认not null(不为空) 数据库默认字段基本都是字段空,但是实际开发时,尽可能保证字段不为空,因为数据空没办法参与运算 示例:创建一个班级表,...,可以使用复合主键 6、自增长 auto_increment:当对应字段,不给值,会自动被系统触发,系统会从当前字段中已经有的最大值+1操作,得到一个新不同值 auto_increment...在关系数据库中,索引是一种单独、物理对数据库表中一列或多列值进行排序一种存储结构,它是某个表中一列或若干列值集合相应指向表中物理标识这些值数据页逻辑指针清单 索引作用相当于图书目录...索引提供指向存储在表指定列中数据值指针,然后根据您指定排序顺序对这些指针排序 数据库使用索引以找到特定值,然后顺指针找到包含该值行。...唯一键本质主键差不多,唯一键允许空,而且可以多个空,空字段不做唯一性比较 关于唯一键主键区别:主键更多是标识唯一性,而唯一键更多是保证在业务上,不要和别的信息出现重复

7.5K30

最佳实践| 一文读懂《MongoDB 使用规范及最佳实践》原理

:00 ---- 一、MongoDB 使用规范与限制 MongoDB 灵活文档优势 灵活库/集合命名及字段增减 同一字段可存储不同类型数据 Json 文档可多层次嵌套文档 对于开发而言最自然表达...分片集合不允许创建普通(不含分片 key 前缀)唯一性索引 1.7 多文档事务限制(>= 4.0) 不支持系统库(config、local、admin)里集合 事务不支持元数据操作修改(如 drop...,加快资源释放 默认事务申请锁等待时间 5 ms 如果超时即崩溃退出 1.8 其他限制 全集合扫描排序内存限制 32 MB [否则报错] 最佳实践: 排序添加索引;控制排序数据量 Aggregation...js 脚本集,提供了丰富数据校验功能 功能特点: 输出结果简单清晰 可指定过滤条件及限制文档数量 可正反序对集合进行分析 可对部分字段进行排除 可指定对嵌套文档分析深度 可指定输出格式及持久化分析结果...如何理解分片集合不能创建普通唯一性索引? 普通唯一性索引只能在单分片中起到唯一性约束作用,跨分片无法做唯一性检查或者说实现代价太大。

2.3K50
您找到你想要的搜索结果了吗?
是的
没有找到

java集合超详解

key进行排序 └———IdentifyHashMap 二、ListSet集合详解: 1.listset区别: 2.List: (1)ArrayList:底层数据结构是数组,查询快,增删慢,...根据构造方法不同,分为自然排序(无参构造)比较器排序(有参构造),自然排序要求元素必须实现Compareable接口,并重写里面的compareTo()方法,元素通过比较返回int值来判断排序序列,...public Vector(int initialCapacity)//构造一个空向量,使其内部数据数组大小,其标准容量增量零。 public Vector(Collection<?...快速查找而设计Set,我们通常都应该使用HashSet,在我们需要排序功能时,我们才使用TreeSet。...两种方式排序:自然排序比较器排序 各种集合对比 ListSet对比总结 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/134153.html原文链接:https

69920

读书笔记-《基于OracleSQL优化》-第一章-3

这里“侧重点”是指当使用CBO来计算目标SQL各条执行路径成本值时,计算成本值方法会随着优化器模式不同不同。 Oracle中,优化器模式是由参数OPTIMIZER_MODE值来决定。...2、结果集: 指包含指定执行结果集合。对RBO来说,对应执行计划中没有对相关执行步骤对应结果集描述,虽然结果集概念对RBO也是适用。...(2)、索引范围扫描:INDEX RANGE SCAN,当扫描对象是唯一性索引时,目标SQLwhere条件一定是范围查询(谓词条件BETWEEN、等);当扫描对象是非唯一性索引时,对目标SQL...目标表1 join 目标表2 on (连接条件) 目标表1 join 目标表2 using (连接列集合) 注意:对于使用JOIN USING标准SQL而言,如果连接列同时又出现在查询列中,则该连接列前不能带上表名或者表名别名...目标表1 natural join 目标表2 相当于:目标表1 join 目标表2 using (目标表1目标表2所有同名列集合) (2)、外连接 左连接:目标表1 left outer join

76220

JavaSE(八)集合之Set

1.2、Set类型集合特点   集合元素不可重复,无索引,有没有序要看Set接口具体实现类是谁。    ...保证元素唯一性原理:判断元素hashCode值是否相同。                            如果相同,还会继续判断元素equals方法,是否true。...2.2、HashSet特点 不能保证元素排列顺序,顺序可能添加顺序不同,顺序也有可能发生变化。     ...2.3、HashSet如何保证元素唯一性原理   当我们想要创建一个集合,该集合里面的元素都具有唯一性时。...4)将自定义类对象存入HashSet去重复      类中必须重写hashCode()equals()方法       hashCode(): 属性相同对象返回值必须相同, 属性不同返回值尽量不同

95650

java基础第十四篇之Map

* LinkedHashMap:底层链表+哈希表结构,有序(存取顺序一致) * 这里是两个泛型,这里KV可以相同 也可以不同 *...Collection集合 没有继承关系 * map集合中是没有迭代器 * * 2.javamap集合提供了另外两种迭代方式: * 方式一:以键找值方法...一般在开发时候不需要对存储元素排序,所有在开发时候大多用HashSet,HashSet效率比较高 TreeSet在面试时候比较多,问你有几种排序方式,几种排序方式区别? 2....TreeSet保证元素唯一性依据 在实现ComparablecompareTo或者Comparatorcompare方法中,如果这两个方法返回值0,那么TreeSet就认为这两个元素一样...按照Set唯一性规则,在一次重复元素不能被添加到TreeSet这个集合中。 2). TreeSet两种排序方式 (1).

34430

【Java 基础篇】Java TreeSet 详解:红黑树实现有序集合

这意味着,插入、删除查找操作时间复杂度 O(log n),其中 n 是集合元素个数。由于红黑树平衡性质,这些操作性能是可预测。 3....指定排序方式构造函数 您可以使用带有 Comparator 参数构造函数来指定元素排序方式。...这样,您可以控制元素排序方式,而不仅仅依赖于自然顺序。 8.4. 性能考虑 TreeSet 插入、删除查询操作平均时间复杂度 O(log n),其中 n 是集合元素数量。...总之,TreeSet 是一个强大有序集合,但在使用时需要注意其唯一性排序方式、性能、并发性等方面的问题。根据具体需求选择合适集合类型,并确保正确处理操作数据以避免潜在问题。 9....通过示例代码,我们演示了如何使用 TreeSet 来解决不同场景问题,如存储成绩记录考试排名。希望本文能帮助您更好地理解应用 TreeSet,并在实际开发中充分利用它有序性唯一性特点。

89030

Java|Map、List与Set区别

有人想有可以自动扩展数组,所以有了List。 有的人想有没有不重复数组,所以有了set。 有人想有自动排序组数,所以有了TreeSet、TreeList、Tree**。...这是由于集合以Object形式来存储它们元素。 2、一个数组实例具有固定大小,不能伸缩。集合则可根据需要动态改变大小。 3、数组是一种可读/可写数据结构,没有办法创建一个只读数组。...加入Set元素必须定义equals()方法以确保对象唯一性。Set与Collection有完全一样接口。Set接口不保证维护元素次序。 HashSet:快速查找设计Set。...标准Java类库中包含了几种不同Map:HashMap,TreeMap、LinkedHashMap、WeakHashMap、IdentityHashMap。...三、它们区别 3.1、CollectionMap区别 容器内每个之所存储元素个数不同。Collection类型,每个位置只有一个元素。

2.8K130

SQL语句逻辑执行过程相关语法详解

很多时候因为优化关系,使得语句最终物理执行顺序逻辑顺序不同。按照逻辑顺序,有些应该先执行过程,可能优化器会指定它后执行。...这一步是将数据复制到内存中相同临时表结构中进行,不过该临时表多出了一个唯一性索引列用来做重复消除。 (11).对vt10进行排序排序虚拟表vt11。...一方面,关系元素都需要有唯一标识名称,因此表列也要有名称,即使表表达式也如此。像派生表是嵌套在语句中,无法在外部给它指定表明,因此必须指定一个表别名。...(2).在group by子句中可以指定分组列升序降序排序。 无论是标准SQL还是MySQL、mariadb,group by分组时候,都会按照分组列升序排序。...只不过标准SQL中只能使用默认升序,而MySQL、mariadb可以自行指定排序方式。

3.5K20

Java之集合初探(一)

面向对象语言对事物体现都是以对象形式,所以为了方便对多个对象操作,Java就提供了集合类。 数组集合类同是容器,有何不同?...二、不同集合集合是存储多个元,由于存储多个元素我们也是有不同需求:比如,我要这多个元素中不能有相同元素,再比如,我要这多个元素按照某种规则排序一下。...:判断集合中是否包含指定元素 boolean containsAll(Collection c):判断集合中是否包含指定集合元素(是一个还是所有) boolean isEmpty()...:判断集合是否空 4:获取功能 Iterator iterator()(重点) 5:长度功能 int size():元素个数 面试题:数组有没有length()...于是在使用迭代器遍历Set时,结果会按元素插入次序显示。 三、总结与注意 Collection Map 区别 容器内每个之所存储元素个数不同

94570

java集合详解完整版(超详细)「建议收藏」

;如果比较内容不相等,那么就是不同对象,就该存储了,此时就要采用哈希解决地址冲突算法,在当前hashCode值处类似一个新链表, 在同一个hashCode值后面存储存储不同对象,这样就保证了元素唯一性...根据构造方法不同,分为自然排序(无参构造)比较器排序(有参构造),自然排序要求元素必须实现Compareable接口,并重写里面的compareTo()方法,元素通过比较返回int值来判断排序序列,...public Vector(int initialCapacity)//构造一个空向量,使其内部数据数组大小,其标准容量增量零。 public Vector(Collection<?...TreeSet支持两种排序方式,自然排序 定制排序,其中自然排序默认排序方式。向 TreeSet中加入应该是同一个类对象。...初始容量大小每次扩充容量大小不同 : ①创建时如果不指定容量初始值,Hashtable 默认初始大小11,之后每次扩充,容量变为原来2n+1。HashMap 默认初始化大小16。

83720

零基础小白理解无压力【全网最好STL入门教程】

set意为集合,在高中我们学习过集合三大性质:确定性、互异性、无序性。在C++STL中集合,容器内会默认按照“升序”排列,但同样遵循确定性互异性。...C++ STL SetSet是C++标准模板库(STL)中较为重要容器,原生支持有序,唯一。一个大小nset所需空间约为nlogn个单位。set插入、删除、查找操作复杂度均为O(logn)。...关键特性唯一性:Set容器内元素都是唯一,也就是说,每个元素都是不同有序性:Set容器内元素总是排序,向Set中添加元素,它将自动插入到正确位置中,不需要手动排序查找/插入快速:因为Set容器元素是排序...,所以在Set中查找插入元素都很快适用场景Set容器有序性唯一性特性极大地减少了大量重复排序等工作,在很多场景下Set容器更具优势,下列情况是使用Set容器合适情况:存储元素类型不能够重复场景...,比如存储用户唯一ID操作多个对象时,必须使用排序算法场景需要快速查找插入元素场景通过Set容器,可以快速获取唯一有序结果,同时在大数据量下性能也相对较高,因此使用场景广泛。

39430

-1-3 java集合框架基础 java集合体系结构 Collection 常用java集合框架 如何选择集合 迭代器 泛型 通配符概念 Properties 集合 迭代器

通过equals方法hashCode方法来保证元素唯一性。...                                不同:就直接把元素添加到集合 TreeSet: 线程不安全,可以对Set集合   元素进行排序。...(可以get获取指定),而是先转成Set集合,在通过迭代获取元素 Map集合中键要保证唯一性 Hashtable:线程安全,速度慢,不允许存放null键,null值,已被HashMap替代。...键是红黑树结构,可以保证键排序唯一性 LinkedHashMap: Map 接口哈希表链接列表实现,具有可预知迭代顺序。...两种方式排序:自然排序比较器排序 Properties集合 Properties作为Map集合使用 Properties特殊功能 •public Object setProperty(String

1.2K20

Java Map集合详解「建议收藏」

---|HashMap: 底层是哈希表数据结构,线程是不同,可以存入null键,null值。 要保证键唯一性,需要覆盖hashCode方法,equals方法。...3、判断: 1、boolean isEmpty() 长度0返回true否则false 2、boolean containsKey(Object key) 判断集合中是否包含指定key...Set> entrySet() 面向对象思想将map集合值映射关系打包一个对象,就是Map.Entry ,将该对象存入Set集合,Map.Entry是一个对象,...要保证键唯一性,需要覆盖hashCode方法,equals方法。 案例:自定义对象作为Map键。...(假设姓名年龄一直的人为相同的人,如果想要对人按照年龄大小来排序,如果年龄相同的人,需要如何处理?不能直接return 0,以为可能姓名不同(年龄相同姓名不同的人是不同的人)。

68620

JAVA--Map集合详解

特点:允许使用null值null键,该集合是线程不同,JDK1.2出现,效率高。  Map集合两种取出方式  Map集合取出原理:将Map集合转成Set集合,再通过迭代器取出。 ...注意:姓名年龄相同视为同一个学生。 保证学生唯一性。 思路: 1.描述学生; 2.定义Map容器。将学生(唯一性)作为键,地址作为值,存入; 3.获取Map集合元素。...特点:线程不同步,可以同时给Map集合键进行排序。  案例  import java.util.*; /* 目标: 每一个学生都有对应归属地。 学生Student,地址String。...注意:姓名年龄相同视为同一个学生。 保证学生唯一性。 并且对学生对象大年龄进行升序排序。 思路: 因为数据是以键值对形式存在, 所以要使用可以排序Map集合:TreeMap。...那么就获取该次数并进行自增,然后将该字母自增后次数存入到Map集合中。原理:覆盖已有键对应值。 4.将Map集合数据变成指定字符串形式返回。

61310

Java SE | 基础语法day15

2)HashSet集合基本使用 (4)HashSet集合保证元素唯一性源码分析 1)HashSet集合保证元素唯一性原理 ①根据对象哈希值计算存储位置 i.如果当前位置没有元素则直接存入; ii....②当前元素元素已经存在元素比较哈希值 i.如果哈希值不同,则将当前元素进行存储; ii.如果哈希值相同,则进入第三步。...2)HashSet集合保证元素唯一性图解 (5)常见数据结构之哈希表【理解】 (6)LinkedHashSet集合概述特点 1)LinkedHashSet集合特点 ①哈希表链表实现Set接口,具有可预测迭代次序...2)LinkedHashSet集合基本使用 NO2.Set集合排序 (1)TreeSet集合概述特点【应用】 1)TreeSet集合概述 ①元素有序,可以按照一定规则进行排序,具体排序方式取决于构造方法...i.TreeSet():根据其元素自然排序进行排序; ii.TreeSet(Comparator comparator) :根据指定比较器进行排序

46850

JAVA–Map集合详解

特点:允许使用null值null键,该集合是线程不同,JDK1.2出现,效率高。 Map集合两种取出方式 Map集合取出原理:将Map集合转成Set集合,再通过迭代器取出。...注意:姓名年龄相同视为同一个学生。 保证学生唯一性。 思路: 1.描述学生; 2.定义Map容器。将学生(唯一性)作为键,地址作为值,存入; 3.获取Map集合元素。...特点:线程不同步,可以同时给Map集合键进行排序。 案例 import java.util.*; /* 目标: 每一个学生都有对应归属地。 学生Student,地址String。...注意:姓名年龄相同视为同一个学生。 保证学生唯一性。 并且对学生对象大年龄进行升序排序。 思路: 因为数据是以键值对形式存在, 所以要使用可以排序Map集合:TreeMap。...4.将Map集合数据变成指定字符串形式返回。

64310

【C++进阶学习】第六弹——setmap——体会用C++来构建二叉搜索树

,有兴趣可以关注一下 二、setmultiset 在C++标准模板库(STL)中,setmultiset是两种关联容器,它们在处理有序集合数据时非常有用。...如果允许集合中存在重复元素,那么应该选择multiset。 三、mapmultimap 在C++STL(标准模板库)中,mapmultimap是两种关联容器,它们用于存储键值对。...而multimap允许相同键对应多个值,提供了一种更灵活数据存储方式。 排序:两者都按照键自然顺序进行排序,通常升序。可以通过自定义比较函数来改变排序规则。...2. map与multimap使用场景 map通常用于需要确保键唯一性且需要对键进行排序场景。例如,统计不同类别的数据数量、实现字典等。...自定义排序可以通过传递比较函数来实现。 插入与删除:使用insert方法插入键值对,erase方法删除键值对。erase方法还可以用于删除指定范围内元素。

4510
领券