| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> MySQL约束 -> 正文阅读 |
|
[大数据]MySQL约束 |
目录 一、主键约束(primary key)PKMySQL主键约束是一个列或者多个列的组合,其值能唯一地标识表中的每一行,方便尽快的找到某一行。主键约束相当于 唯一约束 + 非空约束 的组合,主键约束列不允许重复,也不允许出现空值。每个表最多只允许一个主键。主键约束的关键字是:primary key,当创建主键的约束时,系统默认会在所在的列和列组合上建立对应的唯一索引。 1.添加单列主键(1)定义字段的同时指定主键语法格式:
例如现在我们创建一个 在左侧窗口打开 成功给 (2)定义字段之后在指定主键
?例如现在创建一个epm2表,然后定义字段后再给eid属性指定主键: 打开该表选择设计表 ?也成功给 ? ? 但是我们如果在添加一行eid也是101的话就会报错: 这是因为主键约束所在的列值不能重复 ?我们在创建一行,让主键约束所在的列的值为空: ?我们可以看到也会报错报错原因是因为主键约束所在列的值不能为空 2.添加多列联合主键所谓的联合主键,就是这个主键是由一张表中多个字段组成的。
语法格式:
例如现在创建一个 ?主键设置成功,我们现在添加一行数据: ?重复刚才的操作: ?果然会报错,如果我们只是让 ?此时就可以添加,说明联合主键约束所在列的值不能同时重复。 ?如果让那么为空或者deptId为空呢? ? ?都会报错,说明联合主键约束所在列的值都不能为空 3.通过修改表结构添加主键
?之前都是在创建表的时候我们就已经添加了主键,现在我们先创建表再添加主键 ?4.删除主键一个表中不需要主键约束时,就需要从表中将其删除。删除主键约束的方法要比创建主键约束容易的多。
?同时,也不用区分是单列主键还是联合主键,都可以采用上述代码删除主键。例如,删除
?二、自增长约束(auto_increment)在 MySQL 中,当主键定义为自增长后,这个主键的值就不再需要用户输入数据了,而由数据库系统根据定义自动赋值。每增加一条记录,主键会自动以相同的步长进行增长。通过给字段添加 1.自增长约束的特点
2.默认自增长方式语法格式:
?例如:先创建一个 ? 创建成功,现在只给他的name赋值: ? ?可以发现,在没有给 3.指定自增字段初始值如果第一条记录设置了该字段的初始值,那么新增加的记录就从这个初始值开始自增。例如,如果表中插入的第一条记录的 id 值设置为 5,那么再插入记录时,id 值就会从 5 开始往上增加。 (1)创建表时指定例如现在新创建一个 ?可以发现 (2)创建表后指定创建一个emp5表,创建完成后指定主键值从200开始自增: 创建成功,现在只给 ?可以发现 ? ?(3)delete删除后自增列的变化我们操作 ? ?可以发现:delete数据之后自动增长从断点开始 (4)truncake删除后自增列的变化继续操作 ?可以发现: 三、非空约束MySQL 非空约束(not null)指字段的值不能为空。对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据库系统就会报错。 1.创建表时指定语法格式:
?例如现在我们在创建一个 打开设计表可以看到? ? ? ?发现,当我们只给 2.创建表之后指定
?再创建一个 ?和上面一样如果我们没有给 3.删除非空约束语法格式:
?例如删除 四、唯一性约束(unique)?唯一约束(Unique Key)是指所有记录中字段的值不能重复出现。例如,为 id 字段加上唯一性约束后,每条记录的 id 值都是唯一的,不能出现重复的情况。 1.创建表时指定语法格式:
? ?添加一行数据,再添加一行数据让新添加的 ?添加失败,因为唯一约束中字段的值不能重复出现。 2.创建表之后指定
?效果和上面的相同 ? 3.删除唯一约束
我们现在删除user6中的唯一约束并测试 ? 五、默认约束(default)?MySQL 默认值约束用来指定某列的默认值它有 1.指定默认约束两种指定方式创建表时指定和创建表后指定
我们用两种方法分别创建de1和de2表,并添加数据
? 两个结果是一样的,没有给指定值得时候他的值被默认添加了西安? ? 当我们给address 赋值后会改变他的默认值变为山西 ?2.删除默认约束语法格式
?删除de2的默认约束并给其新建一行数据 ? ? 发现,新添加的行中也没有给 六、零填充约束(zerofill)1、插入数据时,当该字段的值的长度小于定义的长度时,会在该值的前面补上相应的0 1.添加零填充约束例如现在我们新创建一个表 ? ?可以发现,我们填充的 2.删除零填充约束
? ? 可以发现我们填充的 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 11:09:30- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |