数据库default什么意思 数据库default含义?很多人不了解,今天趣百科为大家带来相关内容,下面小编为大家整理介绍。
含义:限制用于限制表中的数据,以确保表中数据的准确性和可靠性。
六个限制
NOT NULL:是非空约束,用于确保该字段的值不能为空。
DEFAULT:默认约束,用于确保该字段具有默认值。
PRIMARY KEY:主键约束,用于确保该字段的值唯一且非空。
UNIQUE:是唯一的,用于确保该字段的值是唯一的,可以为空。
CHECK:检查约束mysql中不支持
FOREIGN KEY:外键约束用于限制两个表之间的关系,并确保该字段的值必须来自主表的关联列的值。从表中添加外键约束,以引用主表中某列的值。
外键特点:
1.需要在从表中设置外键约束关系。
2.从表的外键约束列的类型与主表的关联列的类型一致或兼容,并且名称不是必需的。
3.主表的关联列必须是键(通常是主键约束或唯一键约束)。
4.插入数据时,先插入主表,再插入从表;删除数据时,先删除从表,再删除主表。
添加约束的时机:
1.创建表格时
2.当修改表格时
约束的添加分类:
列级约束:支持所有六种约束语法,但是外键约束不起作用。
表级约束:除了非空和默认约束外,支持所有其他约束。
语法:
创建表名(
字段名字段类型的列级约束,
字段名称字段类型,
级别约束);
创建表1时添加约束。添加列级约束。
只需在字段名后追加约束类型,直接输入即可。
仅支持:默认约束、非空约束、主键约束和唯一约束。
案例:
#创建专业表格
创建表专业(
id INT主键,
majorName VARCHAR (20)
);
#创建学生信息表
创建表学生(
Id主键,#主键约束
Name VARCHAR(20) NOT NULL,#非空约束
Sex CHAR(1) CHECK (sex='男性'或sex=女性'),# check约束(这里的语法不报错,但没有实际作用)
座位唯一性,#唯一约束
年龄整数默认18,#默认约束
Major id int foreign key引用major (id) # foreign key约束(这里的语法不报告错误,但是没有#实际效果)
) ;
2.添加表级约束
语法:位于每个字段的底部。
约束类型(字段名称)
案例:
#创建专业表格
创建表专业(
id INT主键,
majorName VARCHAR (20)
);
#创建学生信息表
创建表学生(
id INT,
名称VARCHAR(20),
性CHAR (1),
座椅INT,
年龄INT,
majorid INT
约束主键主键(id),#主键约束
构造唯一(座位),#唯一键约束
约束ck检查(性别='男性'或性别='女性'),#检查约束
约束fk_ student_ major外键(majorid)引用了专业(id)
#外键约束
);
主键与唯一键的比较
约束名称
独特性
允许null?
一张桌子可以有几个?
允许组合?
主键约束
最多有一个。
唯一约束
可以有多个。
组合主键约束,组合唯一约束的写法
创建表学生(
id INT,
名称VARCHAR(20),
性CHAR (1),
教室VARCHAR(20)、
座椅INT,
年龄INT,
majorid INT
约束主键主键(id,name),#组合主键约束
构造唯一(教室,座位),#组合唯一键约束
);
修改表3360时添加约束语法
1.添加列级约束。
更改表名修改列字段名字段类型新约束;
2.添加表级约束。
Alter table name add【约束约束名】约束类型(字段名)【外键引用】;
案例:
#创建专业表格
创建表专业(
id INT主键,
majorName VARCHAR (20)
);
创建表学生(
id INT,
名称VARCHAR(20),
性CHAR (1),
教室VARCHAR(20)、
座椅INT,
年龄INT,
majorid INT
);
1.添加非空约束
ALTER TABLE student修改列名VARCHAR(20) NOT NULL
2.添加默认约束
ALTER TABLE student修改列age INT DEFAULT 18
3.添加主键
# 列级约束语法3360
ALTER TABLE student修改列id INT主键;
# 表级约束语法3360
ALTER TABLE student添加主键(id);
4.添加唯一
# 列级约束语法3360
ALTER TABLE student修改列seat INT UNIQUE
#表级约束语法:
更改表学生添加唯一(座位);
5.添加外键
更改表学生添加fk _学生_专业外键(majorid)引用专业(id);
修改表时删除约束1.删除非空约束
更改表student_ MODIFY列名VARCHAR(20)NULL;
2.删除默认约束
更改表student_ MODIFY列年龄整数
3.删除主键
更改表student_ DROP主键;
4.删除唯一
更改表student_ DROP索引座位
5.删除外键
更改表student_ DROP外键fk _学生_专业