目录

数据库约束

数据库约束的类型:

null约束 :

unique约束(唯一约束):

default约束(默认值约束):

primary key约束(主键约束):

foreign key约束(外键约束):


数据库约束

数据库约束的类型:

not null- 指示某列不能存储 null值。
unique- 保证某列的每行必须有唯一的值。
default - 规定没有给列赋值时的默认值。
primary key - not null 和 unique 的结合。确保某列(或两个列多个列的结合)有唯一标
识,有助于更容易更快速地找到表中的一个特定的记录。
foreign key - 保证一个表中的数据匹配另一个表中的值的参照完整性

null约束 :

创建表时,可以指定某列不为空

 drop table if exists student;create table student (id int not null,sn int,name varchar(20),qq_mail varchar(20));

unique约束(唯一约束):

指定sn列为唯一的、不重复的:

 drop table if exists student;create table student (id int,sn int unique,name varchar(20),qq_mail varchar(20));

default约束(默认值约束):

指定插入数据时,name列为空,默认值无名氏:

 drop table if exists student;create table student (id int,sn int ,name varchar(20) default '无名氏',qq_mail varchar(20));

primary key约束(主键约束):

指定id列为主键:

drop table if exists student;
create table student (id int primary key,sn int ,name varchar(20),qq_mail varchar(20));

对于整数类型的主键,常配搭自增长auto_increment来使用。插入数据对应字段不给值时,使用最大值+1。

drop table if exists student;
create table student (id int primary key auto_increment,sn int ,name varchar(20),qq_mail varchar(20));
desc student;
insert into student values(1,1,'张三','********@qq.com');
insert into student (sn,name,qq_mail)values(2,'李四','********@qq.com');
select *from student;

foreign key约束(外键约束):

外键用于关联其他表的主键或唯一键,语法:
语法形式:

foreign key(字段名) references 主表(列)
create table class (id int primary key,name varchar(20));create table student(id int primary key,name varchar(20),class_id int,foreign key(class_id)references class(id));

这样就使得student和class产生了联系。而且在插入数据的时候,只能插入符合外键约束的数据:

insert into class values(1,'java1班');
insert into class values(2,'java2班');
select *from class;

class中的数据:

 insert into student values(1,'张三',2);insert into student values(2,'李四',1);select *from student;

student中的数据:

也就是说张三class_id为2,也就是java1班,李四就是java2班的。这是我们插入一条在class中不存在的id:

 insert into student values (3,'王五',100);

就会出现报错了,无法插入,这就体现了外键的约束。

还要注意的一点就是,外键约束约束的其实是双方,(我们可以把class看成主(父)表,student看成子表) ,除了上述关系外,如果我们想删除父表,也必须删除子表,否则无法删除:

drop table class;

因为约束的存在所以无法删除。要想删除就要先把子表删除。

MySQL数据库(数据库约束)相关推荐

  1. mysql外键约束视频教学_外键约束案例_MySQL数据库 快速入门 基础+实战 视频教程_MySQL视频-51CTO学院...

    MySQL是开源免费和功能多面的小型数据库,MySQL也是目前流行通用的关系型数据库,已经被 Oracle 收购了.随着版本更新升级,加入一些高级功能,MySQL6.x 版本也开始收费.不过本教程将使 ...

  2. mysql中ak替换键_数据库:唯一性约束_alternate key(替换键) mySQL Oracle 数据库 ak 唯一性约束...

    数据库:唯一性约束_alternate key(替换键) mySQL Oracle 数据库 ak 唯一性约束 数据库:唯一性约束 所谓唯一性约束(unique constraint)不过是数据表内替代 ...

  3. mysql数据库笔记 约束_MySQL数据库笔记四:MySQL的约束

    <1>概念 是一种限制,它是对表的行和列的数据做出约束,确保表中的数据的完整性和唯一性. <2>使用场景 创建表的时候,添加约束 <3>分类 1. default: ...

  4. day27 MySQL 表的约束与数据库设计

    day27  MySQL 表的约束与数据库设计 第1节 回顾 1.1  数据库入门 1.1.1 SQL 语句的分类: 1) DDL 数据定义语言 2) DML 数据操作语言 3) DQL 数据查询语言 ...

  5. 【MySQL】数据库的约束

    哈喽,大家好!我是保护小周ღ,本期为大家带来的是 MySQL 数据库中对表的约束,主要有null (空约束),unique(唯一约束),primary key(主键约束),default(默认值约束) ...

  6. Mysql 数据库设置三大范式 数据库五大约束 数据库基础配置

    数据库设置三大范式 1.第一范式(确保每列保持原子性) 第一范式是最基本的范式.如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库满足第一范式. 第一范式的合理遵循需要根据系统给的实际需求 ...

  7. 玩转MYSQL(2) 数据库的约束、聚合查询、联合查询以及三种表的设计

    目录标题 一.MYSQL的那些约束你掌握了几种? 二.表与表之间的三种关系 三.查询 3.1 :聚合查询 3.2.GROUP BY 3.3.HAVING和group by 搭配使用 3.4.联合查询 ...

  8. MariaDB(MySQL)数据库的介绍及使用示例

    MySQL or MariaDB: 层次模型 --> 网状模型 --> (IBM Codd)关系模型 --> No-SQL关系型数据库管理系统(RDBMS):范式:第一范式,第二范式 ...

  9. mysql 新增从数据库_从零开始学 MySQL - 创建数据库并插入数据

    目录 1.实验内容 2.实验知识点 3.开发准备 4.实验总结 1.实验内容 本次课程将介绍 MySQL 新建数据库,新建表,插入数据以及基本数据类型的相关知识.本节实验将创建一个名为 mysql_s ...

  10. 0基础能学mysql数据库吗_mysql学习入门:零基础如何使用mysql创建数据库表?

    零基础如何自学Mysql创建数据库,是Mysql学习者必经之路,Mysql是受欢迎的关系数据库管理系统,WEB应用方面MySQL是很好的RDBMS应用软件之一.如何使用Mysql创建数据库表,打开My ...

最新文章

  1. 1.MVC的工作流程
  2. python模拟sed在每行添加##
  3. java基础---IO字符流
  4. Pandas库学习笔记
  5. 基于vue2.0实现音乐/视频播放进度条组件的思路及具体实现方法+代码解释
  6. 前端如何实现网络速度测试功能_前端组件单元测试
  7. Mysql简介和Mysql优化查询的方法
  8. python可以封装成独立程序吗_windows环境下把Python代码打包成独立执行的exe
  9. Tomcat 6、7在EL表达式解析时存在的一个Bug
  10. 【Flutter】flutter doctor 报错Android license status unknown. Run `flutter doctor --android-licenses‘
  11. DPDK报文分类与访问控制
  12. Mimics:修改像素单位
  13. PyTorch基础(六)-- optim模块
  14. 【100+ python基础入门-37】Python可变集合和不可变集合的构造方法和注意事项
  15. Mac精品应用推荐:专业的后期特效制作软件
  16. Java学习-面向对象进阶
  17. 理解Play框架线程池
  18. WPF x:Key标签
  19. 2023年中国地质大学(武汉)英语语言文学考研上岸前辈备考经验
  20. 《博客园精华集---CLR/C#分册》第三轮筛选结果 转载

热门文章

  1. 数学建模算法与应用【模糊综合评价算法】
  2. Windows本地连接正常,上不去网的解决办法
  3. 这种鱼被吃了也拼命求生!刺穿捕食者的胃想跑出来
  4. 全国计算机等级考试试题研究组,全国计算机等级考试试题研究组
  5. 浅谈机器人的定位技术 激光SLAM VS 视觉SLAM
  6. 机器人中的数值优化|【一】数值优化基础
  7. Java算法题:Z字形变换
  8. 潮人篮球不显示服务器,潮人篮球补篮技巧详解
  9. 解决Idea Maven生成的jar运行出现“没有主清单属性”问题
  10. JAVA毕业设计果蔬在线销售系统计算机源码+lw文档+系统+调试部署+数据库