欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Mysql 表的增删改查(进阶)

程序员文章站 2022-05-07 22:40:45
...

约束:

数据库针对数据进行一系列的校验,如果发现插入的数据不符合约束中的描述的校验规则,就会插入失败,为了更好地保证数据的正确性。

 

1、not null(不可为空)

当设置 id 不可为空时

Mysql 表的增删改查(进阶)

 

意图将id 设置为空就会报错

Mysql 表的增删改查(进阶)

 

2、unique (唯一)

表示约束该类型数据不可重复,例如我们规定 id不能重复

Mysql 表的增删改查(进阶)

当设定 id 中重复设定为 1 时会报错

Mysql 表的增删改查(进阶)

 

也可以叠加使用:

Mysql 表的增删改查(进阶)

 

3、default (指定默认值)

指定名字的起始默认值为 “unknow”

Mysql 表的增删改查(进阶)

Mysql 表的增删改查(进阶)

 

4、primary key (主键)

当我们将 id 设置为主键时:

Mysql 表的增删改查(进阶)

将 id 设置为 null 的时候,报错不能为空:

Mysql 表的增删改查(进阶)

将 id 重复设置为1的时候,报错不能重复:

Mysql 表的增删改查(进阶)

 

 

5、auto_increment (自增长)

Mysql 表的增删改查(进阶)

Mysql 表的增删改查(进阶)

6、foreign key (外键约束)

foreign key (字段名) references 主表(列)

 

 


一对一关系

例如:

人对应身份证号码

 

一对多关系

例如:

一个学生对应多门成绩

 

多对多关系

例如:

多门课程的成绩对应多名学生

学生:甲乙丙丁

课程:语文、数学、英语、物理

成绩:语文成绩、数学成绩、英语成绩、物理成绩

 

Mysql 表的增删改查(进阶)

Mysql 表的增删改查(进阶)

Mysql 表的增删改查(进阶)

 

新增(将一个表的内容添加到另一个表中)

insert into [表2] select name,decription from [表1];
//将表1 的内容添加到表2 中

先创建 user 表

Mysql 表的增删改查(进阶)

Mysql 表的增删改查(进阶)

Mysql 表的增删改查(进阶)

Mysql 表的增删改查(进阶)

此时就将 user 吻合的内容添加到了 user2 中

Mysql 表的增删改查(进阶)

 

计算行数

select count(*) from user; //计算全部行的行数
select count([行名]) from user;  //计算 [行名] 这一行的行数

Mysql 表的增删改查(进阶)

 

Mysql 表的增删改查(进阶)

当内容为空时,不计算 null 的行数

Mysql 表的增删改查(进阶)

求列的和

select sum(score) from score;     //求和
select avg(score) from score;     //求平均值
select max(score) from score;     //求最大值
select min(score) from score;     //求最小值

Mysql 表的增删改查(进阶)

 

 

相关标签: MySQL