phpcms做视频网站,网站建设难么,莱芜网站推广,wordpress好用的空间数据库基础 – 数据库约束
1.约束
1.1 概念
约束是用于强制数据库中数据 完整性 和 一致性 的规则。它们定义了对表中数据的限制#xff0c;确保数据的有效性和正确性#xff0c;实际上就是表中数据的限制条件。
1.2 分类
1.2.1 完整性约束
主键约束(Primary Key Const…数据库基础 – 数据库约束
1.约束
1.1 概念
约束是用于强制数据库中数据 完整性 和 一致性 的规则。它们定义了对表中数据的限制确保数据的有效性和正确性实际上就是表中数据的限制条件。
1.2 分类
1.2.1 完整性约束
主键约束(Primary Key Constraint)确保每行数据在指定列或列组合上具有唯一标识并且不能出现null值。外键约束(Foreign Key Constraint)确保表中外键列的值必须存在于另一个表的主键列中保持引用完整性。唯一约束(Unique Constraint)确保指定列中的所有值都是唯一的但允许包含null值。自增约束(Auto Increment Constraint)确保在插入新纪录时列中的值会自动按顺序递增。
1.2.2 数据格式约束
默认约束用于确保特定列中的值满足指定的条件例如范围、格式等以确保数据的一致性。零填充约束确保列中的值采用零填充以达到特定长度的要求。
1.2.3 空值约束
非空约束用于确保特定列中的值满足指定的条件例如范围、格式等以确保数据的一致性。 2. 常用约束介绍
2.1 主键约束
2.1.1 介绍
主键约束(Primary Key Constraint) 是一个列或多个列的组合其值能唯一标识表中的每一条记录方便在关系型数据库中快速查找某一行数据。主键约束不允许列中出现重复值和空值创建主键约束时系统会默认在所在列和列组合上建立对应的唯一索引。
2.1.2 创建方式
直接在字段后声明主键
CREATE TABLE 表名(字段名 数据类型 PRIMARY KEY
);在所有字段最后声明
CREATE TABLE user(user_id INT,user_name VARCHAR(100),high DOUBLE,PRIMARY KEY(user_id)
);2.2 外键约束
2.2.1 介绍
外键约束定义的是表之间的关系。当一个表中的一个列或多个类的组合和其他表中的主关键字定义相同就可以把这些列或列的组合定义为外关键字。外关键字约束的作用还体现在当向含有外关键字的表插入数据时如果与之相关联的表的列中无与插入的外关键字列值相同的值时系统会拒绝插入数据。
2.2.2 创建方式
#先创建一个学生表
CREATE TABLE student (stu_id INT PRIMARY KEY,stu_name VARCHAR(20),stu_sex INT,stu_age INT,stu_class VARCHAR(20),
);#创建班级表并关联外键
CREATE TABLE class (class_id INT PRIMARY KEY,stu_id INT,class_name VARCHAR(20),stu_count INT,FOREIGN KEY (stu_id) REFERENCE student(stu_id),
);2.3 唯一性约束
2.3.1 介绍
唯一性学术指多个列的组合的值具有唯一性以防止在列中输入重复值。唯一性约束的字段可以为null。由于主键具有唯一性因此当一个字段设置为主键后就不用再设置唯一性约束。
2.3.2 创建方式
CREATE TABLE student (stu_id INT PRIMARY KEY,stu_name VARCHAR(20),stu_sex INT,stu_age INT,stu_class VARCHAR(20) UNIQUE,
);
# 由于一个学生只能对应一个班级因此班级名称被设为唯一性约束2.4 自增约束
2.4.1 介绍
一个表只能有一个自增约束并且自增约束的列只能是 INT型。一般来说自增将会用于主键通过自增的方式给每一条表记录添加一个主键。
2.4.2 创建方式
CREATE TABLE student (stu_id INT AUTO INCREMENT PRIMARY KEY,stu_name VARCHAR(20),stu_sex INT,stu_age INT,stu_class VARCHAR(20) UNIQUE,
);
#添加自增约束后stu_id将会从1开始每插入一条记录时stu_id将会12.5 非空约束
2.5.1 介绍
非空约束将会禁止添加该约束的字段禁止为空
创建方式
CREATE TABLE student (stu_id INT AUTO INCREMENT PRIMARY KEY,stu_name VARCHAR(20) NOT NULL,stu_sex INT,stu_age INT,stu_class VARCHAR(20) UNIQUE,
);