iis怎么建设网站,百度一下了你就知道官网,html网页制作代码大全示范,展示型网站案例“主键#xff08;PRIMARY KEY#xff09;”的完整称呼是“主键约束”。MySQL 主键约束是一个列或者列的组合#xff0c;其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键#xff0c;通过它可以强制表的实体完整性。
选取设置主键约束的字段
主键约束即在表中…“主键PRIMARY KEY”的完整称呼是“主键约束”。MySQL 主键约束是一个列或者列的组合其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键通过它可以强制表的实体完整性。
选取设置主键约束的字段
主键约束即在表中定义一个主键来唯一确定表中每一行数据的标识符。主键可以是表中的某一列或者多列的组合其中由多列组合的主键称为复合主键。
主键应该遵守下面的规则 每个表只能定义一个主键。主键值必须唯一标识表中的每一行且不能为 NULL即表中不可能存在两行数据有相同的主键值。这是唯一性原则。一个列名只能在复合主键列表中出现一次。复合主键不能包含不必要的多余列。当把复合主键的某一列删除后如果剩下的列构成的主键仍然满足唯一性原则那么这个复合主键是不正确的。这是最小化原则。在创建表时设置主键约束
在 CREATE TABLE 语句中主键是通过 PRIMARY KEY 关键字来指定的。
在定义列的同时指定主键语法规则如下
字段名 数据类型 PRIMARY KEY [默认值]在 test_db 数据库中创建 tb_emp 3 数据表其主键为 id输入的 SQL 语句和运行结果如下所示。
mysql CREATE TABLE tb_emp3- (- id INT(11) PRIMARY KEY,- name VARCHAR(25),- deptId INT(11),- salary FLOAT- );
Query OK, 0 rows affected (0.37 sec)
mysql DESC tb_emp3;
------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
------------------------------------------------
| id | int(11) | NO | PRI | NULL | |
| name | varchar(25) | YES | | NULL | |
| deptId | int(11) | YES | | NULL | |
| salary | float | YES | | NULL | |
------------------------------------------------
4 rows in set (0.14 sec)在定义完所有列之后指定主键的语法格式为
[CONSTRAINT 约束名] PRIMARY KEY [字段名]在 test_db 数据库中创建 tb_emp 4 数据表其主键为 id输入的 SQL 语句和运行结果如下所示。
mysql CREATE TABLE tb_emp4- (- id INT(11),- name VARCHAR(25),- deptId INT(11),- salary FLOAT,- PRIMARY KEY(id)- );
Query OK, 0 rows affected (0.37 sec)
mysql DESC tb_emp4;
------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
------------------------------------------------
| id | int(11) | NO | PRI | NULL | |
| name | varchar(25) | YES | | NULL | |
| deptId | int(11) | YES | | NULL | |
| salary | float | YES | | NULL | |
------------------------------------------------
4 rows in set (0.14 sec)在创建表时设置复合主键 主键由多个字段联合组成语法规则如下
PRIMARY KEY [字段1字段2…,字段n]创建数据表 tb_emp5假设表中没有主键 id为了唯一确定一个员工可以把 name、deptId 联合起来作为主键输入的 SQL 语句和运行结果如下所示。
mysql CREATE TABLE tb_emp5- (- name VARCHAR(25),- deptId INT(11),- salary FLOAT,- PRIMARY KEY(id,deptId)- );
Query OK, 0 rows affected (0.37 sec)
mysql DESC tb_emp5;
------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
------------------------------------------------
| name | varchar(25) | NO | PRI | NULL | |
| deptId | int(11) | NO | PRI | NULL | |
| salary | float | YES | | NULL | |
------------------------------------------------
3 rows in set (0.14 sec)在修改表时添加主键约束 在修改数据表时添加主键约束的语法规则为
ALTER TABLE 数据表名 ADD PRIMARY KEY(列名);查看 tb_emp2 数据表的表结构如下所示。
mysql DESC tb_emp2;
------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
------------------------------------------------
| id | int(11) | NO | | NULL | |
| name | varchar(30) | YES | | NULL | |
| deptId | int(11) | YES | | NULL | |
| salary | float | YES | | NULL | |
------------------------------------------------
4 rows in set (0.14 sec)修改数据表 tb_emp2将字段 id 设置为主键输入的 SQL 语句和运行结果如下所示。
mysql ALTER TABLE tb_emp2- ADD PRIMARY KEY(id);
Query OK, 0 rows affected (0.94 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql DESC tb_emp2;
------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
------------------------------------------------
| id | int(11) | NO | PRI | NULL | |
| name | varchar(30) | YES | | NULL | |
| deptId | int(11) | YES | | NULL | |
| salary | float | YES | | NULL | |
------------------------------------------------
4 rows in set (0.12 sec)