12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
ADADADADAD
mysql数据库 时间:2024-11-29 10:10:11
作者:文/会员上传
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
mysql中可以通过“ALTER TABLE 表名 ADD PRIMARY KEY(字段名);”语句在修改数据表时添加主键约束;当在修改表时要设置表中某个字段的主键约束时,要确保设置成主键约束的字段中
以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。
mysql中可以通过“ALTER TABLE 表名 ADD PRIMARY KEY(字段名);”语句在修改数据表时添加主键约束;当在修改表时要设置表中某个字段的主键约束时,要确保设置成主键约束的字段中值不能够有重复的,并且要保证是非空的。
主键(PRIMARY KEY)的完整称呼是“主键约束”,是 MySQL 中使用最为频繁的约束。一般情况下,为了便于 DBMS 更快的查找到表中的记录,都会在表中设置一个主键。
在创建表时设置主键约束
在 CREATE TABLE 语句中,通过 PRIMARY KEY 关键字来指定主键。
在定义字段的同时指定主键,语法格式如下:
<字段名> <数据类型> PRIMARY KEY [默认值]
示例
在 test_db 数据库中创建 tb_emp3 数据表,其主键为 id,SQL 语句和运行结果如下。
mysql> CREATE TABLE tb_emp3-> (-> id INT(11) PRIMARY KEY,-> name VARCHAR(25),-> deptId INT(11),-> salary FLOAT-> );Query OK, 0 rows affected (0.37 sec)mysql> DESC tb_emp3;+--------+-------------+------+-----+---------+-------+| 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)
在修改表时添加主键约束
主键约束不仅可以在创建表的同时创建,也可以在修改表时添加。但是需要注意的是,设置成主键约束的字段中不允许有空值。
在修改数据表时添加主键约束的语法格式如下:
ALTER TABLE <数据表名> ADD PRIMARY KEY(<字段名>);
通常情况下,当在修改表时要设置表中某个字段的主键约束时,要确保设置成主键约束的字段中值不能够有重复的,并且要保证是非空的。否则,无法设置主键约束。
示例
查看 tb_emp2 数据表的表结构,SQL 语句和运行结果如下所示。
mysql> DESC tb_emp2;+--------+-------------+------+-----+---------+-------+| Field| Type| Null | Key | Default | Extra |+--------+-------------+------+-----+---------+-------+| id | int(11) | NO | | NULL| || name | varchar(30) | YES| | NULL| || deptId | int(11) | YES| | NULL| || salary | float | YES| | NULL| |+--------+-------------+------+-----+---------+-------+4 rows in set (0.14 sec)
修改数据表 tb_emp2,将字段 id 设置为主键,SQL 语句和运行结果如下。
mysql> ALTER TABLE tb_emp2-> ADD PRIMARY KEY(id);Query OK, 0 rows affected (0.94 sec)Records: 0Duplicates: 0Warnings: 0mysql> DESC tb_emp2;+--------+-------------+------+-----+---------+-------+| 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)
11-20
11-19
11-20
11-20
11-20
11-19
11-20
11-20
11-19
11-20
11-19
11-19
11-19
11-19
11-19
11-19