Mysql添加主键
在Mysql数据库中,主键用于唯一标识表中的每一行数据,它具有唯一性和非空性的特点。本文将详细介绍在Mysql中如何添加主键。
1. 创建表时添加主键
在创建表时,我们可以通过在字段后面使用PRIMARY KEY
关键字来指定主键。以下是一个创建表并添加主键的示例:
CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT
);
运行上述代码后,将创建一个名为students
的表,并为id
字段设置主键。
2. 修改表结构添加主键
如果已经存在一张表,我们也可以通过修改表结构的方式来添加主键。Mysql提供了多种语法来实现这一目的。
2.1 ALTER TABLE语句添加主键
使用ALTER TABLE
语句可以对已经存在的表进行修改。以下是用ALTER TABLE
语句添加主键的示例:
ALTER TABLE students
ADD PRIMARY KEY (id);
运行上述代码后,将为students
表的id
字段添加主键。
2.2 MODIFY COLUMN语句添加主键
另一种添加主键的方法是使用MODIFY COLUMN
语句修改表结构。以下是使用MODIFY COLUMN
语句添加主键的示例:
ALTER TABLE students
MODIFY COLUMN id INT PRIMARY KEY;
运行上述代码后,将为students
表的id
字段添加主键。
3. 查看主键信息
在Mysql中,我们可以使用SHOW CREATE TABLE
语句或DESCRIBE
语句来查看表的结构信息,从而获得主键信息。
3.1 SHOW CREATE TABLE语句
使用SHOW CREATE TABLE
语句可以显示表的创建语句,其中包含主键的定义。以下是使用SHOW CREATE TABLE
语句查看主键信息的示例:
SHOW CREATE TABLE students;
执行上述语句后,将显示students
表的创建语句,其中包含主键的定义。
3.2 DESCRIBE语句
使用DESCRIBE
语句可以查看表的结构信息,其中包括字段名、数据类型和其他属性。以下是使用DESCRIBE
语句查看主键信息的示例:
DESCRIBE students;
执行上述语句后,将显示students
表的结构信息,其中主键字段会以PRI
标识。
4. 添加主键的限制和约束
在添加主键时,需要注意以下限制和约束:
- 一个表只能有一个主键。
- 主键的值不能为NULL。
- 主键值必须唯一。
如果试图添加一个违反以上限制和约束的主键,Mysql将会报错。以下是几个示例:
4.1 主键值为NULL
ALTER TABLE students
MODIFY COLUMN id INT PRIMARY KEY NOT NULL;
运行上述代码后,当向students
表插入NULL
值时,Mysql将会报错。
4.2 重复的主键值
INSERT INTO students (id, name, age)
VALUES (1, 'John', 20), (1, 'Mike', 25);
运行上述代码后,当向students
表插入重复的主键值时,Mysql将会报错。
5. 删除主键
在Mysql中,我们可以使用ALTER TABLE
语句来删除主键。以下是删除主键的示例:
ALTER TABLE students
DROP PRIMARY KEY;
运行上述代码后,将删除students
表的主键。
以上就是在Mysql中添加主键的详细步骤和注意事项。通过本文的介绍,相信您已经掌握了如何在Mysql中添加主键的方法。