MySQL表的增删改查总结 和 约束条件的详细讲解

总结CRUD create retrieve update delete   增查改删

 

 mysql有很多介词什么的很难记,就是SQL的设计风格不一致导致的.

Java中的设计风格不一致:

数组长度:arr.length     String长度:str.length()     List长度:list.size()

还有push pop offer poll

6种约束(约束是为了更早,更及时解决问题)

1.NOT NULL - 指示某列不能存储 NULL 值。
2.UNIQUE - 保证某列的每行必须有唯一的值。
3.DEFAULT - 规定没有给列赋值时的默认值。
4.PRIMARY KEY - NOT NULL UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标 识,有助于更容易更快速地找到表中的一个特定的记录。
5.FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。
6.CHECK - 保证列中的值符合指定的条件。对于 MySQL 数据库,对 CHECK 子句进行分析,但是忽略 CHECK 子句.
1.NOT NULL - 指示某列不能存储 NULL 值。

2. UNIQUE - 保证某列的每行必须有唯一的值。

 

 加上unique

 

插入第二条重复的就报错

 3.DEFAULT - 规定没有给列赋值时的默认值。  

default (设定默认值.)默认的默认值是NULL ;可以通过default约束来修改这里的默认值的取值.

 

 

 

 4.PRIMARY KEY - NOT NULL UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标 识,有助于更容易更快速地找到表中的一个特定的记录。

作用: 1)不能为空,相当于NOT NULL

        2)不能重复,相当于UNIQUE

         3)一个表里只能有一个主键

生活中 像身份证号码,商品编号,电话号,都可以称为主键;

还可以程序员设一个自增(auto_increment):由于主键必须要填,还不能重复,MYSQL为了方便大家填写,内置了一个功能,"自增主键",帮助我们自动生成主键的值.

自增之后插入

下图的id是自增主键

如果写的是具体数值,就是手动指定id;

如果写的是null,就是让mysql按照自增规律自动生成.

 

 

 新增101

 MYSQL想要自增,必须要能记录下来当前的id已经到哪了

要保证 自增 之后,是不重复的

MySQL里简单粗暴的做法,直接记录当前 自增逐渐列 里的最大值~

 唯一ID=时间戳(ms)+机房编号/主机编号+随机因子(不是算术运算符是字符串拼接,不一定ID是数字,ID本质就是字符串)

5.FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。  

 描述了两张表之间的关系(外键)

 

 

 

 在外键的约束下,每次你对子表 插入/修改操作,都会触发父表中的查询,父表中存在才能 插入/修改 成功.

 父表对子表限制是不能随意 插入/修改.(就像:不能随便一个陌生人就要加入我们班群)

子表对父表限制是不能随意 删除/修改(就像:我们班级群不能随便把班里的学生删除)

 下图是删除

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值