先查看下已经创建好的表,若不会创建请看上期视频!!
为message表:
mysql> show columns from message;// 命令
+-----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+-------+
| m_id | int(11) | YES | | NULL | |
| m_name | varchar(60) | YES | | NULL | |
| m_sex | varchar(16) | YES | | NULL | |
| m_brith | date | YES | | NULL | |
| m_address | varchar(250) | YES | | NULL | |
+-----------+--------------+------+-----+---------+-------+
可以看到表中字段没有加约束条件,下来我们来加一下吧!
1.给m_id字段加主键约束primary key条件!
mysql> alter table message add primary key(m_id);//命令
Query OK, 0 rows affected (0.99 sec)//出现这,表示已成功!
下来来看下表的结构吧!
mysql> show columns from message;//命令
+-----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+-------+
| m_id | int(11) | NO | PRI | NULL | |
| m_name | varchar(60) | YES | | NULL | |
| m_sex | varchar(16) | YES | | NULL | |
| m_brith | date | YES | | NULL | |
| m_address | varchar(250) | YES | | NULL | |
+-----------+--------------+------+-----+---------+-------+
可以看到主键加入成功!
2.给m_id字段加自动编号auto_increment
mysql> alter table message modify m_id int auto_increment;//命令
Query OK, 0 rows affected (1.19 sec)//自动编号加入成功!
同样来看下表的结构吧!
mysql> show columns from message;//命令
+-----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+----------------+
| m_id | int(11) | NO | PRI | NULL | auto_increment |
| m_name | varchar(60) | YES | | NULL | |
| m_sex | varchar(16) | YES | | NULL | |
| m_brith | date | YES | | NULL | |
| m_address | varchar(250) | YES | | NULL | |
+-----------+--------------+------+-----+---------+------------
可以看到自动编号加入成功!
3.给表m_name字段加唯一约束unique
alter table message add unique(m_name);//命令
Query OK, 0 rows affected (0.66 sec)//表示成功!
下来看一下表的结构吧!
mysql> show columns from message;//命令
+-----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+----------------+
| m_id | int(11) | NO | PRI | NULL | auto_increment |
| m_name | varchar(60) | YES | UNI | NULL | |
| m_sex | varchar(16) | YES | | NULL | |
| m_brith | date | YES | | NULL | |
| m_address | varchar(250) | YES | | NULL | |
+-----------+--------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)
可以看到加入成功!
4.给表m_sex加非空约束not null
mysql> alter table message modify m_sex varchar(16) not null;//命令
Query OK, 0 rows affected (1.01 sec)//成功!
查看下表的结构
mysql> show columns from message;//命令
+-----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+----------------+
| m_id | int(11) | NO | PRI | NULL | auto_increment |
| m_name | varchar(60) | YES | UNI | NULL | |
| m_sex | varchar(16) | NO | | NULL | |
| m_brith | date | YES | | NULL | |
| m_address | varchar(250) | YES | | NULL | |
+-----------+--------------+------+-----+---------+----------------+
5.给表m_sex加默认约束default,默认为女吧!!
mysql> alter table message modify m_sex varchar(16) default '女';//命令
Query OK, 0 rows affected (0.47 sec)//成功!
查看下表的结构!
mysql> show columns from message;//命令
+-----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+----------------+
| m_id | int(11) | NO | PRI | NULL | auto_increment |
| m_name | varchar(60) | YES | UNI | NULL | |
| m_sex | varchar(16) | YES | | 女 | |
| m_brith | date | YES | | NULL | |
| m_address | varchar(250) | YES | | NULL | |
+-----------+--------------+------+-----+---------+----------------+
可以看到加入成功!
6.给表m_id 加检查约束check
mysql> alter table message add constraint m_id check(m_id>10);//命令
Query OK, 0 rows affected (0.62 sec)//成功
查看下表的结构!
mysql> show columns from message;//命令
+-----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+----------------+
| m_id | int(11) | NO | PRI | NULL | auto_increment |
| m_name | varchar(60) | YES | UNI | NULL | |
| m_sex | varchar(16) | YES | | 女 | |
| m_brith | date | YES | | NULL | |
| m_address | varchar(250) | YES | | NULL | |
+-----------+--------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)
咱们下期来说外键约束吧,
关注我持续为你更新!!