zhenlq 2020-05-19
.NULL,字段值可以为空;
.NOT NULL,字段值禁止为空。
用于指定字段是否可以为空,语法:
CREATE TABLE tbl_name (
column_name data_type NULL/NOT NULL,
...
}
说明:默认是NULL,可以为空。
.每张数据表只能存在一个主键;
.主键保证记录的唯一性;
.主键自动为NOT NULL
.AUTO_INCREMENT必须与主键一起使用,但主键没有要求一定要AUTO_INCREMENT.
语法:
CREATE TABLE tbl_name(
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,----注意:只能是int型或float型,小数位数为0;且不需要给id赋值。
...
);
.可以保证记录的唯一性
.唯一约束的字段可以为NULL(与主键区别)
.每张数据表可以存在多个唯一约束(与主键区别)
延伸理解:唯一约束字段可以多个为NULL,如何保证记录的唯一性?实际在存储时只有一个为空,所以仍能保证记录唯一性。
语法:
CREATE TABLE tbl_name(
column_name data_type UNIQUE KEY,
...
);
即当插入记录时,如果没有明确为字段赋值,则自动赋予默认值。
语法:
CREATE TABLE tbl_name(
column_name data_type DEFAULT val,----注意DEFAULT可以与ENUM类型值进行结合使用,DEAFULT可以指定其中的值。
...
);
约束:为了保证数据完整性为目的;
索引:快速定位特定数据,提高查询效率,确保数据唯一性。