企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
## 主键 顾名思义:主要的键,primary key,在一张表中,有且只有一个字段,里面的值具有唯一性. 系统提供了两种增加主键的方式: 随表创建 : 1. 方案1:直接在需要当做主键的字段之后,增加primary key属性来确定主键. ~~~ create table 表名( id int primary key ); ~~~ 2. 方案2:在所有字段之后增加primary key选项:primary key(字段信息). ~~~ create table 表名( id int, primary key(id) ); ~~~ 表后创建 : ~~~ alter table 表名 add primary key(字段); ~~~ #### 删除主键 ~~~ alter table 表名 drop primary key; ~~~ #### 复合主键 场景 :有一张学生选修课表:一个学生可以选修多个选修课,一个选修课也可以由多个学生来选:但是一个学生在一个选修课中只有一个成绩. ~~~ create table class( name varchar(20) not null, score tinyint unsigned, primary key(name,score) ); 效果: +-------+---------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------------------+------+-----+---------+-------+ | name | varchar(20) | NO | PRI | NULL | | | score | tinyint(3) unsigned | NO | PRI | NULL | | +-------+---------------------+------+-----+---------+-------+ ~~~ #### 主键约束 主键一旦增加,那么对对应的字段有数据要求: 1. 当前字段对应的数据不能为空. 2. 当前字段对应的数据不能有任何重复. #### 主键分类 主键分类采用的是主键所对应的字段的业务意义分类 : 1. 业务主键:主键所在的字段,具有业务意义(学生ID,课程ID). 2. 逻辑主键:自然增长的整型(应用广泛).