百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> mysql怎样增加主键?
分享文章到:

mysql怎样增加主键?

发布时间:08/01 来源:未知 浏览: 关键词:
mysql增加主键分两种状况:1、在新建表时,和CREATETABLE语句一起,在需要增加主键的字段后增加PRIMARYKEY;2、在新建表后,和ALTERTABLE语句一起,运用ADDPRIMARYKEY(<列名>)来增加。 “主键(PRIMARY KEY)”的完备称号是“主键束缚”。MySQL 主键束缚是一个列或者列的组合,其值能独一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可以强迫表的实体完备性。那么在MySQL中怎样增加主键束缚?下面本篇文章就给大家介绍一下。

在 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怎样增加主键?的细致内容,更多请关注 百分百源码网 其它相干文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有150人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板