1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > MySQL主键约束-PRIMARY KEY

MySQL主键约束-PRIMARY KEY

时间:2023-09-16 03:50:43

相关推荐

MySQL主键约束-PRIMARY KEY

文章目录

建表时设置主键约束1.单字段主键2.联合主键 修改表属性时添加主键约束删除主键约束

主键即主键约束。分为单字段主键和多字段组合主键。

使用主键时,应注意:

      1.每个表只能有一个主键

      2.主键不能为NULL,不允许重复,必须唯一标识一条记录

      3.联合主键需唯一且最小,即去掉联合主键中的任一字段,剩余字段构成的主键值不唯一

接下来,介绍设置主键约束和删除主键约束的方法

建表时设置主键约束

1.单字段主键

(1) 在定义字段时,指定主键

# 语法1:CREATE TABLE <数据表>(<字段名> <数据类型> PRIMARY KEY -- 在定义字段时指定主键);

# 示例1:# 在数据库中创建数据表table_example1,主键为idCREATE TABLE table_example1(id INT(10) PRIMARY KEY,name VARCHAR(20));

表结构如下图所示

(2) 在定义完字段后指定主键

# 语法2:CREATE TABLE <数据表>(<字段名> <数据类型> ,PRIMARY KEY(<字段名>) -- 在定义完字段后指定主键);

# 示例2:# 在数据库中创建数据表table_example2,主键为idCREATE TABLE table_example2(id INT(10),name VARCHAR(20),PRIMARY KEY(id),);

表结构如下图所示

说明:语法1与语法2定义的表结构一样,且MySQL存储的建表语句一样,均为语法2所示

2.联合主键

联合主键表示该数据的主键有多个字段组成,一般在单字段主键无法满足需求时使用。

注意:联合主键只能在定义完所有的字段后指定,不能直接在字段明后指定主键(也无法指定)

# 语法3:CREATE TABLE <数据表>(<字段1> <数据类型>,<字段2> <数据类型>,PRIMARY KEY(<字段1>,<字段2>));

# 示例3:# 创建数据表table_example3,主键约束为id,name的联合主键CREATE TABLE table_example3(id INT(10),name VARCHAR(20),PRIMARY KEY(id,name));

table_example3表结构如下图所示:

修改表属性时添加主键约束

如在建表时未添加主键约束,可通过修改表属性 添加主键约束

此时,待设为主键的字段不允许有NULL、重复值

# 语法:ALTER TABLE <数据表> ADD PRIMARY KEY(<字段名>); -- 修改表属性时添加主键约束

# 示例:# 将字段id设为无主键表的主键约束# 1.新建无主键约束的数据表CREATE TABLE table_example4(id INT(10),name VARCHAR(20));

table_example4表结构如下图:

# 2.修改表table_example4,将id设为主键ALTER TABLE table_example4 ADD PRIMARY KEY(id);

修改主键约束后table_example4表结构如下:

注意id字段对应的Key列值的变化,有空白变为"PRI",即id被指定为主键

删除主键约束

# 语法:ALTER TABLE <数据表> DROP PRIMARY KEY(<字段名>);ALTER TABLE <数据表> DROP PRIMARY KEY; -- 一张表中只有一个主键,所以删除主键约束可以不用指定主键名,两行代码效果一样

# 示例:# 删除数据表table_example4中的主键约束ALTER TABLE table_example4 DROP PRIMARY KEY;

删除主键约束后table_example4的表结构如下图所示:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。