MySQL:束缚(Constraints)
在数据库计划中,束缚(Constraints)饰演着至关紧张的脚色,它们确保了数据库中数据的完备性和有效性。MySQL作为广泛利用的开源关系型数据库管理体系,天然也支持多种范例的束缚。在 MySQL 中,束缚是指对表中数据的一种束缚,可以大概资助数据库管理员更好地管理数据库,而且可以大概确保数据库中数据的准确性和有效性。
在 MySQL 中可以利用 SHOW CREATE TABLE 语句来查察表中的束缚。
MySQL 束缚种别
束缚是表级的欺压规定,用于包管表中数据的完备性和有效性。完备性包罗准确性和可靠性。MySQL中的束缚可以分为以下几类:
[*]非空束缚(NOT NULL):确保字段值不为NULL。
[*]唯一性束缚(UNIQUE):确保字段或字段组合中的值唯一。
[*]主键束缚(PRIMARY KEY):唯一标识表中的每一行,相称于唯一性束缚+非空束缚的组合。
[*]外键束缚(FOREIGN KEY):用于维护两个表之间的关系,确保参照完备性。
[*]查抄束缚(CHECK,实用于某些数据库版本和范例,如Oracle):确保字段值满意特定条件。
[*]默认值束缚(DEFAULT):当插入记载时,假如字段没有指定值,则利用默认值。
以上 6 种束缚中,一个数据表中只能有一个主键束缚,别的束缚可有多个。
主键束缚
主键束缚是利用最频仍的束缚。在计划数据表时,一样平常情况下,都会要求表中设置一个主键。
主键是表的一个特殊字段,该字段能唯一标识该表中的每条信息。比方,门生信息表中的学号是唯一的。
主键(PRIMARY KEY)的完备称谓是“主键束缚”
利用主键应注意以下几点:
[*] 每个表只能界说一个主键。一个字段名只能在连合主键字段表中出现一次。
[*] 唯一性原则:主键值必须唯一标识表中的每一行,且不能为 NULL,即表中不大概存在有雷同主键值的两行数据。
[*] 最小化原则:连合主键不能包罗不须要的多余字段。当把连合主键的某一字段删除后,假如剩下的字段构成的主键仍然满意唯一性原则,那么这个连合主键是不正 确的。
设置主键 PRIMARY KEY
创建表时设置主键
在创建数据表时设置主键束缚,既可以为表中的一个字段设置主键,也可以为表中多个字段设置连合主键。
单字段主键
在 CREATE TABLE 语句中,通过 PRIMARY KEY 关键字来指定主键。
在界说字段的同时指定主键,语法格式如下:
<字段名> <数据类型> PRIMARY KEY [默认值]
CREATE TABLE student(
id INT(4) PRIMARY KEY AUTO_INCREMENT,
);
也可以在界说完全部字段之后指定主键,语法格式如下:
PRIMARY KEY [字段名]
CREATE TABLE student(
id INT(4),
PRIMARY KEY(id)
);
连合主键
所谓的连合主键,就是这个主键是由一张表中多个字段构成的。
比方:计划门生选课表,要限定的是一个门生只能选择同一课程一次。因此,门生编号和课程编号可以放在一起共同作为主键,这也就是连合主键了。
主键由多个字段连合构成,语法格式如下:
PRIMARY KEY [字段1,字段2,…,字段n]
CREATE TABLE student(
id INT(4),
courseID INT(4),
class VARCHAR(10),
PRIMARY KEY(id,courseID)
);
当主键是由多个字段构成时,不能直接在字段名背面声明主键束缚。
修改表时添加主键 ADD PRIMARY KEY
在修改数据表时添加主键束缚的语法格式如下:
ALTER TABLE <数据表名> ADD PRIMARY KEY(<字段名>);
ALTER TABLE student ADD PRIMARY KEY(id);
通常情况下,当在修改表时要设置表中某个字段的主键束缚时,要确保设置成主键束缚的字段中值
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金
页:
[1]