[摘要]+----------+---------------------+------+-----+---------+-------+3 rows in set (0.01 sec)从这里我们可以看到,...
+----------+---------------------+------+-----+---------+-------+3 rows in set (0.01 sec)
从这里我们可以看到,username的NULL为NO,其他两个字段为YES,对于可以为空的字段,写不写NULL都表示可以为空。
自动编号
AUTO_INCREMENT
auto_increment,auto自动,increment是增加的意思,组合起来表示自动增加,也就是可以自动按照从小到大的顺序编号。
下面来操作一下:
mysql> CREATE TABLE table3(
-> id SMALLINT UNSIGNED AUTO_INCREMENT,
-> username VARCHAR(20)
-> );
ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key报错,因为 id 没有设置为主键。
设置主键
PRIMARY KEY
主键约束
每张表只能存在一个主键
主键保证记录的唯一性
主键自动为NOT NULL
那么我们添加主键,重新操作一次:
mysql> CREATE TABLE table3(
-> id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
-> username VARCHAR(20)
-> );
Query OK, 0 rows affected (0.42 sec)注意顺序,PRIMARY KEY 要放在最后。
这样我们就创建成功,下面依次插入数据,并查看结果:
mysql> INSERT table3(username) VALUES("Zhang");
Query OK, 1 row affected (0.09 sec)
mysql> INSERT table3(username) VALUES("Weng");
Query OK, 1 row affected (0.07 sec)
mysql> INSERT table3(username) VALUES("Chen");
Query OK, 1 row affected (0.09 sec)
mysql> SELECT * FROM table3;
+----+----------+
关键词:对于MySQL数据表设置的详细说明