数据库表的约束条件[通俗易懂]
数据库 通俗易懂 约束条件
2023-06-13 09:14:46 时间
大家好,又见面了,我是你们的朋友全栈君。
文章目录
1.主键约束
主键约束可以用两种方式定义:列级主键约束和表级主键约束
列级主键约束演示:
create table dept_htlwk(
deptno varchar(20) primary key, --列级约束条件
dname varchar(20),
location varchar(40)
);
表级主键约束演示:
create table dept_htlwk(
deptno varchar(20) ,
dname varchar(20) ,
location varchar(40) ,
constraint dept_htlwk_deptno_pk primary key (deptno) );
2.非空约束
非空约束只有列级定义方式,即非空约束只能定义在列级
create table dept_htlwk_bak1(
deptno varchar(20) primary key,
dname varchar(30) not null,//非空约束
location varchar(50));
非空约束如何命名?
create table dept_htlwk_bak1(
deptno varchar(20) primary key,
dname varchar(30) constraint dept_htlwk_bak1_dname_nn not null,//非空约束
location varchar(50));
3.唯一约束
唯一约束可以用两种方式定义:列级唯一约束和表级唯一约束
列级唯一约束演示:
create table student(
student_id bigint(20) primary key,
student_name varchar(30) not null,
email varchar(30) unique,
student_age tinyint(3));
表级唯一约束演示:
create table student(
student_id bigint(20),
student_name varchar(30) not null,
email varchar(30),
age tinyint(3),
constraint student_id_pk primary key(student_id),//表级主键约束
constraint student_email_uk unique(email) );//表级唯一约束
4.检查约束
检查约束可以用两种方式定义:列级检查约束和表级检查约束
列级检查约束演示:
create table student(
student_id bigint(20) primary key,
student_name varchar(30) not null,
email varchar(30) unique,
age tinyint(3) check(age > 10),
gender char(1) check(gender in('F', 'M') ) --'F'代表女生 ;'M'代表男生
);
表级检查约束演示:
create table student(
student_id bigint(20),
student_name varchar(10) not null,
email varchar(30),
age tinyint(3),
gender char(1), --'F'代表女生 ;'M'代表男生
constraint student_id_pk primary key(student_id),
constraint student_email_uk unique(email),
constraint student_age_ck check(age > 10),
constraint student_gender_ck check(gender in('F', 'M', 'f', 'm'))
);
5.外键约束
外键约束只有表级定义方式,即外键约束只能定义在表级
外键约束演示:
create table student(
student_id bigint(20),
student_name varchar(20) not null,
email varchar(30) unique,
gender char(1),
age tinyint(3),
major_id bigint(20),
constraint student_id_pk primary key(student_id),
constraint student_gender_ck check (gender in ('F','M','f','m')),
constraint student_major_id_fk foreign key (major_id) references major(major_id) on delete set null);
解释: on delete set null 一旦主表数据删除,从表关联数据置为null on delete cascade 级联删除,主表数据删除,从表关联数据也删除
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/182418.html原文链接:https://javaforall.cn
相关文章
- 学生成绩管理系统数据库设计–MySQL/SQL Server[通俗易懂]
- 在哪下载Mysql数据库的JDBC驱动jar包[通俗易懂]
- 从零到上亿用户,我是如何一步步优化MySQL数据库的?(建议收藏)[通俗易懂]
- 数据库表设计 基本思路[通俗易懂]
- oracle创建数据库的三种方法[通俗易懂]
- 关系型数据库的发展历史[通俗易懂]
- MySQL数据库入门学习(多图预警+新手向~)[通俗易懂]
- 数据库关系模型的三类完整性约束[通俗易懂]
- MySQL数据库免安装版配置教程及常见问题[通俗易懂]
- mysql 数据库表结构设计与规范[通俗易懂]
- mysql建表语句 numeric_数据库建表语句[通俗易懂]
- 一键清空MySQL数据库的简单方法(mysql如何清空数据库)
- 极速上手:使用SQL访问Oracle数据库(sql访问oracle数据库)
- 实现数据库中数据排序功能,Oracle帮您取得最佳排名(oracle取排名)
- MySQL数据库管理工具:连接无限可能(连接mysql数据库的工具)
- 怎样将MySQL数据库中的数据导出为CSV格式(csv格式 mysql)
- 在cmd中启动MySQL数据库(cmd 下启动mysql)
- 1411报错MySQL数据库遇到错误(1411报错mysql)
- Oracle数据库两表同步技术简介(oracle 两表同步)
- 一分钟内Oracle数据库掉线为何(oracle 一分钟掉线)
- 常见数据库系统比较Oracle数据库
- php数据库配置文件一般做法分享