MySQL: 表的增删改查(进阶1)

Posted Y同学脑瓜子嗡嗡的

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL: 表的增删改查(进阶1)相关的知识,希望对你有一定的参考价值。

1.数据库约束

1.1 约束类型

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

1.2 NULL约束

创建player表
在这里指定了id列不为空

当输入空时,

因此这里输入的时候不能将id设置为null

1.3 UNIQUE:唯一约

创建player表
这里指定name列为唯一值,不重复的

如果要插入值已经在表中存在就会插入失败

提示:当列有uniqueq约束的时候,进行插入之前,就会先查找。如果当前值存在,此时就会插入失败。因此,unique约束对效率肯定是会有影响的!但也是值得的!

1.4 DEFAULT:默认值约束

我们知道,当我们指定列插入的时候,如果这个列没有被指定,就会被设置成默认值NULL

使用DEFAULT约束
指定插入数据时name列为空,默认值为unkown;
先建立表

1.5 PRIMARY KEY:主键约束

primary key 表示了一个记录的身份标识(相当于唯一 && not null)

提示:一张表中只能有一个主键,对于主键,要求不能为空也不能重复。

1.6 FOREIGN KEY:外键约束

外键用于关联其他表的主键或唯一键

创建班级表class,id为主键:


创建一个学生表


1.7 CHECK约束(了解)

MySQL不支持CHECK约束

使用方式
drop table if exists test_user;
create table test_user (
id int,
name varchar(20),
sex varchar(1),
check (sex =‘男’ or sex=‘女’)
);

以上是关于MySQL: 表的增删改查(进阶1)的主要内容,如果未能解决你的问题,请参考以下文章

MySQL表的增删改查(进阶)

MySQL: 表的增删改查(进阶1)

MySQL: 表的增删改查(进阶2)

mysql表的增删改查(进阶)

单链表的增删改查(进阶版)

数据库 MySQL进阶(复杂的增删改查)