2.1 MySQL约束条件
约束条件
NULL 允许为空,默认设置 NOT NULL 不允许为空 Key 索引类型 Default 设置默认值,缺省为NULL PRIMARY KEY 主键,所有记录中此字段的值不能重复,且不能为NULL UNIQUE KEY 唯一键,所有记录中此字段的值不能重复,但可以为NULL CHARACTER SET name 指定一个字符集
mysql> create table t1( name char(10) not null, gender enum("man","woman","no") default "no", age tinyintunsigned ); mysql> desc t1; +--------+--------------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+--------------------------+------+-----+---------+-------+ | name | char(10) | NO | | NULL | | | gender | enum('man','woman','no') | YES | | no | | | age | tinyint(3) unsigned | YES | | NULL | | +--------+--------------------------+------+-----+---------+-------+ 3 rows in set (0.00 sec)
当不给默认字段赋值时,选择默认值 mysql> insert into t1(name) values("lw"); Query OK, 1 row affected (0.00 sec) mysql> select * from t1; +------+--------+------+ | name | gender | age | +------+--------+------+ | lw | no | NULL | +------+--------+------+ 1 row in set (0.00 sec)
直接指定字符集 mysql> create table db1.t1(name varchar(10)) character set utf8; Query OK, 0 rows affected (0.02 sec) mysql> desc db1.t1; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | name | varchar(10) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 1 row in set (0.00 sec)