MySQL约束是用于保证数据完整性和一致性的重要措施之一,创建表时可以通过添加约束来定义表中的一些条件限制,以下是MySQL约束的详细说明:
1. NOT NULL约束
NOT NULL约束用于保证该列的值不能为空,这是一个非常常见的约束。
语法:
column_name data_type NOT NULL
示例:
CREATE TABLE student (
id INT NOT NULL,
name VARCHAR(20) NOT NULL,
age INT NOT NULL,
PRIMARY KEY (id)
);
在上方示例中,student表的id、name、age列均添加了NOT NULL约束,这意味着在插入新的记录时,这些列不能为空。
2. UNIQUE约束
UNIQUE约束用于保证该列的值唯一,即不能存在重复的值。
语法:
column_name data_type UNIQUE
示例:
CREATE TABLE user (
id INT NOT NULL UNIQUE,
username VARCHAR(20) NOT NULL UNIQUE,
password VARCHAR(20) NOT NULL,
PRIMARY KEY (id)
);
在上方示例中,user表的id列和username列均添加了UNIQUE约束,这意味着在插入新的记录时,这两列的值必须是唯一的。
3. PRIMARY KEY约束
PRIMARY KEY约束用于定义表中的主键,一个表只能有一个主键。
语法:
column_name data_type PRIMARY KEY
示例:
CREATE TABLE course (
id INT NOT NULL PRIMARY KEY,
name VARCHAR(20) NOT NULL,
teacher VARCHAR(20) NOT NULL
);
在上方示例中,course表的id列被定义为主键,这意味着在插入新的记录时,id列的值必须是唯一的。
4. FOREIGN KEY约束
FOREIGN KEY约束用于定义表之间的关联,它指向另一个表中的主键。
语法:
column_name data_type REFERENCES foreign_table ( foreign_key_column )
示例:
CREATE TABLE student_course (
student_id INT NOT NULL,
course_id INT NOT NULL,
PRIMARY KEY (student_id, course_id),
FOREIGN KEY (student_id) REFERENCES student (id),
FOREIGN KEY (course_id) REFERENCES course (id)
);
在上方示例中,student_course表通过FOREIGN KEY约束来与student表和course表建立关联,student_id列和course_id列分别指向另外两个表的主键。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL约束(创建表时的各种条件说明) - Python技术站