SQL如何创建和删除主键
在数据库中,主键是用来唯一标识每个行/记录表中的一个字段。主键必须包含唯一值,并且不能为NULL。一个表中只能有一个主键,但可以由单个或多个字段组成,多个字段形成的主键称之为复合键。
1. 创建主键
在新建表时,可以直接创建主键。以下是创建主键的示例代码:
```
CREATE TABLE table_test(
id INT NOT NULL,
name VARCHAR(20) NOT NULL,
address VARCHAR(20),
PRIMARY KEY(id)
);
```
2. 为已建好的表创建主键
如果已经创建了表,可以使用ALTER TABLE语句为其添加主键。以下是为已建好的表table_test创建主键的示例代码:
```
CREATE TABLE table_test(
id INT NOT NULL,
name VARCHAR(20) NOT NULL,
address VARCHAR(20)
);
ALTER TABLE table_test ADD PRIMARY KEY (id);
```
3. 创建复合键
复合键是由多个字段组成的主键,其中每个字段都不能为NULL。以下是在新建表时创建复合键的示例代码:
```
CREATE TABLE table_test(
user_id INT NOT NULL,
user_name VARCHAR(20) NOT NULL,
user_address VARCHAR(20),
PRIMARY KEY (user_id, user_name)
);
```
4. 为已建好的表创建复合键
如果已经创建了表,可以使用ALTER TABLE语句为其添加复合键。以下是为已建好的表table_test创建复合键的示例代码:
```
CREATE TABLE table_test(
user_id INT NOT NULL,
user_name VARCHAR(20) NOT NULL,
user_address VARCHAR(20)
);
ALTER TABLE table_test ADD CONSTRAINT id PRIMARY KEY (user_id, user_name);
```
5. 删除主键
如果想要删除表中的主键,可以使用ALTER TABLE语句。以下是删除主键的示例代码:
```
ALTER TABLE table_test DROP PRIMARY KEY;
```
6. 示例
下面是一个示例,首先创建一张不存在的table_test表,其中包含user_id,user_name,user_address三个字段,同时设置user_id为表的主键。创建完成之后,可以使用DROP命令删除主键。
```
CREATE TABLE table_test(
user_id INT NOT NULL,
user_name VARCHAR(20) NOT NULL,
user_address VARCHAR(20)
);
ALTER TABLE table_test ADD PRIMARY KEY (user_id);
-- 删除主键
ALTER TABLE table_test DROP PRIMARY KEY;
```
以上就是关于SQL如何创建和删除主键的介绍。通过这些操作,可以确保数据表的完整性和唯一性,提高数据库的性能和安全性。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。