作用
添加主键的几种方式
方式1:在创建表的时候,声明主键约束
create table pk1 (id int primary key,username varchar(20));
方式2:在创建表的时候,在约束区域声明主键约束
create table pk2 ( id int, username varchar(20), -- 所有字段声明之后,后面的这个区域就是 约束索引区域 primary key(id) );方式3:通过修改表结构,添加主键约束 ```sql create table pk3 (
id int,username varchar(20) );
— 修改表结构添加主键约束 alter table pk3 add primary key(id);
- 方式4:建表后单独添加主键约束
```sql
ALTER TABLE 表名 MODIFY 列名 数据类型 PRIMARY KEY;
删除主键约束
ALTER TABLE 表名 DROP PRIMARY KEY;
一张表最多只能有一个主键,主键可以作用在多个字段上(联合主键).
联合主键
CREATE TABLE pk4 (
username VARCHAR(20),
birthday DATE,
sex VARCHAR(2),
PRIMARY KEY(username,birthday)-- 通过名字和生日确定一条记录,联合主键
);
INSERT INTO pk4 VALUES('tom','1990-09-09','男');-- 成功
INSERT INTO pk4 VALUES('tom','1991-09-09','女');-- 成功
INSERT INTO pk4 VALUES('tom','1990-09-09','女');-- 失败
已经存在 tom和1990-09-09
主键自增约束
- 建表时添加主键自增约束 ```sql CREATE TABLE 表名( 列名 数据类型 PRIMARY KEY AUTO_INCREMENT, … 列名 数据类型 约束 )AUTO_INCREMENT=自增开始的值 ;
> 可以设置自增开始的值.
- 删除主键自增约束
```sql
ALTER TABLE 表名 MODIFY 列名 数据类型;
- 建表后单独添加主键自增约束
ALTER TABLE 表名 MODIFY 列名 数据类型 AUTO_INCREMENT;
