MySQL数据库(数据库约束)
目录
数据库约束
数据库约束的类型:
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数据库(数据库约束)相关推荐
- mysql外键约束视频教学_外键约束案例_MySQL数据库 快速入门 基础+实战 视频教程_MySQL视频-51CTO学院...
MySQL是开源免费和功能多面的小型数据库,MySQL也是目前流行通用的关系型数据库,已经被 Oracle 收购了.随着版本更新升级,加入一些高级功能,MySQL6.x 版本也开始收费.不过本教程将使 ...
- mysql中ak替换键_数据库:唯一性约束_alternate key(替换键) mySQL Oracle 数据库 ak 唯一性约束...
数据库:唯一性约束_alternate key(替换键) mySQL Oracle 数据库 ak 唯一性约束 数据库:唯一性约束 所谓唯一性约束(unique constraint)不过是数据表内替代 ...
- mysql数据库笔记 约束_MySQL数据库笔记四:MySQL的约束
<1>概念 是一种限制,它是对表的行和列的数据做出约束,确保表中的数据的完整性和唯一性. <2>使用场景 创建表的时候,添加约束 <3>分类 1. default: ...
- day27 MySQL 表的约束与数据库设计
day27 MySQL 表的约束与数据库设计 第1节 回顾 1.1 数据库入门 1.1.1 SQL 语句的分类: 1) DDL 数据定义语言 2) DML 数据操作语言 3) DQL 数据查询语言 ...
- 【MySQL】数据库的约束
哈喽,大家好!我是保护小周ღ,本期为大家带来的是 MySQL 数据库中对表的约束,主要有null (空约束),unique(唯一约束),primary key(主键约束),default(默认值约束) ...
- Mysql 数据库设置三大范式 数据库五大约束 数据库基础配置
数据库设置三大范式 1.第一范式(确保每列保持原子性) 第一范式是最基本的范式.如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库满足第一范式. 第一范式的合理遵循需要根据系统给的实际需求 ...
- 玩转MYSQL(2) 数据库的约束、聚合查询、联合查询以及三种表的设计
目录标题 一.MYSQL的那些约束你掌握了几种? 二.表与表之间的三种关系 三.查询 3.1 :聚合查询 3.2.GROUP BY 3.3.HAVING和group by 搭配使用 3.4.联合查询 ...
- MariaDB(MySQL)数据库的介绍及使用示例
MySQL or MariaDB: 层次模型 --> 网状模型 --> (IBM Codd)关系模型 --> No-SQL关系型数据库管理系统(RDBMS):范式:第一范式,第二范式 ...
- mysql 新增从数据库_从零开始学 MySQL - 创建数据库并插入数据
目录 1.实验内容 2.实验知识点 3.开发准备 4.实验总结 1.实验内容 本次课程将介绍 MySQL 新建数据库,新建表,插入数据以及基本数据类型的相关知识.本节实验将创建一个名为 mysql_s ...
- 0基础能学mysql数据库吗_mysql学习入门:零基础如何使用mysql创建数据库表?
零基础如何自学Mysql创建数据库,是Mysql学习者必经之路,Mysql是受欢迎的关系数据库管理系统,WEB应用方面MySQL是很好的RDBMS应用软件之一.如何使用Mysql创建数据库表,打开My ...
最新文章
- 1.MVC的工作流程
- python模拟sed在每行添加##
- java基础---IO字符流
- Pandas库学习笔记
- 基于vue2.0实现音乐/视频播放进度条组件的思路及具体实现方法+代码解释
- 前端如何实现网络速度测试功能_前端组件单元测试
- Mysql简介和Mysql优化查询的方法
- python可以封装成独立程序吗_windows环境下把Python代码打包成独立执行的exe
- Tomcat 6、7在EL表达式解析时存在的一个Bug
- 【Flutter】flutter doctor 报错Android license status unknown. Run `flutter doctor --android-licenses‘
- DPDK报文分类与访问控制
- Mimics:修改像素单位
- PyTorch基础(六)-- optim模块
- 【100+ python基础入门-37】Python可变集合和不可变集合的构造方法和注意事项
- Mac精品应用推荐:专业的后期特效制作软件
- Java学习-面向对象进阶
- 理解Play框架线程池
- WPF x:Key标签
- 2023年中国地质大学(武汉)英语语言文学考研上岸前辈备考经验
- 《博客园精华集---CLR/C#分册》第三轮筛选结果 转载
热门文章
- 数学建模算法与应用【模糊综合评价算法】
- Windows本地连接正常,上不去网的解决办法
- 这种鱼被吃了也拼命求生!刺穿捕食者的胃想跑出来
- 全国计算机等级考试试题研究组,全国计算机等级考试试题研究组
- 浅谈机器人的定位技术 激光SLAM VS 视觉SLAM
- 机器人中的数值优化|【一】数值优化基础
- Java算法题:Z字形变换
- 潮人篮球不显示服务器,潮人篮球补篮技巧详解
- 解决Idea Maven生成的jar运行出现“没有主清单属性”问题
- JAVA毕业设计果蔬在线销售系统计算机源码+lw文档+系统+调试部署+数据库