Mysql第8部域完整性与参照完整性

学习地址:
撩课-JavaWeb系列1之基础语法-前端基础
撩课-JavaWeb系列2之XML
撩课-JavaWeb系列3之MySQL
撩课-JavaWeb系列4之JDBC
撩课-JavaWeb系列5之web服务器-idea

域完整性

使用

限制此单元格的数据正确,
不对照此列的其它单元格比较
域代表当前单元格

域完整性约束
数据类型
数值类型、
日期类型、
字符串类型

非空约束(not null)
CREATE TABLE 表名(字段名1 数据类型 PRIMARY KEY AUTO_INCREMENT ,字段2 数据类型 UNIQUE not null);

默认值约束(default)
CREATE TABLE 表名(字段名1 数据类型 PRIMARY KEY AUTO_INCREMENT ,字段2 数据类型 UNIQUE not null default '男');
插入的时候
values当中的值直接给default

什么是参照完整性

是指表与表之间的一种对应关系
通常情况下可以通过设置两表之间的主键、
外键关系,或者编写两表的触发器来实现。

有对应参照完整性的两张表格,
在对他们进行数据插入、更新、删除的过程中,
系统都会将被修改表格与另一张对应表格进行对照,
从而阻止一些不正确的数据的操作。

数据库的主键和外键类型一定要一致;

两个表必须得要是InnoDB类型
设置参照完整性后 ,
外键当中的内值,
必须得是主键当中的内容

一个表设置当中的字段设置为主键,
设置主键的为主表
CREATE TABLE student(sid int PRIMARY key,name varchar(50) not null,sex varchar(10) default '男');

创建表时,设置外键,设置外键的为子表

CREATE TABLE score(
sid INT,
score DOUBLE,
CONSTRAINT fk_stu_score_sid FOREIGN KEY(sid) REFERENCES student(sid));

你可能感兴趣的:(Mysql第8部域完整性与参照完整性)