Mysql 表的增删改查(进阶)

约束:

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

1、not null(不可为空)

当设置 id 不可为空时

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

2、unique (唯一)

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

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

也可以叠加使用:

3、default (指定默认值)

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

4、primary key (主键)

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

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

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

5、auto_increment (自增长)

6、foreign key (外键约束)

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

一对一关系

例如:

人对应身份证号码

一对多关系

例如:

一个学生对应多门成绩

多对多关系

例如:

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

学生:甲乙丙丁

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

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

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

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

先创建 user 表

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

计算行数

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

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

求列的和

select sum(score) from score;     //求和
select avg(score) from score;     //求平均值
select max(score) from score;     //求最大值
select min(score) from score;     //求最小值
经验分享 程序员 微信小程序 职场和发展