数据字段属性:
UNSIGNED :无符号的,声明该数据不允许为负数;
ZEROFILL :0填充的,不足位数用0来填充 如 int(3),5 则005;
AUTO_INCREMENT :自动增长的,通常用于设置主键,且为整数类型,可定义起始值和步长;
NULL 、NOT NULL :空 和 非空
DEFAULT :默认的,用于设置默认值
MySQL主键(Primary Key)是唯一标识表中每行的列或一组列。当定义表的主键时,必须遵循以下规则:
- 主键必须包含唯一值。如果主键由多个列组成,则这些列中的值的组合必须是唯一的。
- 主键列不能包含
NULL
值。 这意味着必须使用NOT NULL
属性声明主键列。如果没有指定NOT NULL
,MySQL将强制为主键列为NOT NULL
。 - 一张表只有一个主键。
因为MySQL使用整数工作更快,所以主键列的数据类型应该是整数类型,例如:INT
,BIGINT
。可以选择一个较小的整数类型:TINYINT
,SMALLINT
等。但是,应该确保值的范围的主键的整数类型足以存储表可能所具有最大行数。
主键列通常具有自动生成键的唯一序列的AUTO_INCREMENT
属性。下一行的主键值大于前一个行的主键值。
MySQL为表中的主键创建一个名为PRIMARY
的PRIMARY
索引类型。