mysql怎样增加主键?
发布时间:08/01 来源:未知 浏览:
关键词:
在 CREATE TABLE 语句中,主键是通过 PRIMARY KEY 关键字来指定的。
在定义列的同时指定主键,语律例则如下:
<字段名> <数据类型> PRIMARY KEY [默许值]
例:在 test_db 数据库中新建 tb_emp 1 数据表,其主键为 id
mysql> CREATE TABLE tb_emp1 -> ( -> id INT(11) PRIMARY KEY, -> name VARCHAR(25), -> deptId INT(11), -> salary FLOAT -> ); Query OK, 0 rows affected (0.37 sec) mysql> DESC tb_emp1; +--------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | varchar(25) | YES | | NULL | | | deptId | int(11) | YES | | NULL | | | salary | float | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 4 rows in set (0.14 sec)
在定义完所有列之后,指定主键的语法格局为:
[CONSTRAINT <约束名>] PRIMARY KEY [字段名]
示例:在 test_db 数据库中新建 tb_emp 2 数据表,其主键为 id
mysql> CREATE TABLE tb_emp2 -> ( -> id INT(11), -> name VARCHAR(25), -> deptId INT(11), -> salary FLOAT, -> PRIMARY KEY(id) -> ); Query OK, 0 rows affected (0.37 sec) mysql> DESC tb_emp2; +--------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | varchar(25) | YES | | NULL | | | deptId | int(11) | YES | | NULL | | | salary | float | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 4 rows in set (0.14 sec)
2、在新建表后增加主键束缚
新建表后,可以在修改数据表时增加主键束缚,语律例则为:
ALTER TABLE <数据表名> ADD PRIMARY KEY(<列名>);
示例:修改数据表 tb_emp3,将字段 id 设定为主键
mysql> ALTER TABLE tb_emp3 -> ADD PRIMARY KEY(id); Query OK, 0 rows affected (0.94 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC tb_emp3; +--------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | varchar(30) | YES | | NULL | | | deptId | int(11) | YES | | NULL | | | salary | float | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 4 rows in set (0.12 sec)
3、设定复合主键
也可以在新建表时增加复合主键,此时主键由多个字段结合组成,语律例则如下:
PRIMARY KEY [字段1,字段2,…,字段n]
示例:新建数据表 tb_emp4,假如表中没有主键 id,为了独一肯定一个员工,可以把 name、deptId 结合起来作为主键
mysql> CREATE TABLE tb_emp4 -> ( -> name VARCHAR(25), -> deptId INT(11), -> salary FLOAT, -> PRIMARY KEY(id,deptId) -> ); Query OK, 0 rows affected (0.37 sec) mysql> DESC tb_emp4; +--------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | name | varchar(25) | NO | PRI | NULL | | | deptId | int(11) | NO | PRI | NULL | | | salary | float | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 3 rows in set (0.14 sec)
以上就是mysql怎样增加主键?的细致内容,更多请关注 百分百源码网 其它相干文章!