概述
约束——主键约束(primary key)
声明,本文仅为学习记录笔记,借鉴于—>原文地址
在MySQL中,”约束“指的是对表中数据的一种限制约束,它能够确保数据库中数据的准确性和有效性
例如:学号、手机号、身份证号这种唯一的值,就需要约束其唯一性
在MySql中主要有6中约束:主键约束、外键约束、唯一约束、检查约束、非空约束和默认值约束
主键分为”单字段主键“和”多字段联合主键“
在使用主键的时候需要注意以下几点:
- 一个表中只能定义一个主键
- 主键值必须唯一标识表中的每一行,且不能为null,即表中不能存在有相同主键的两行或两行以上的数据,严格遵守唯一性原则;
- 一个字段名只能在联合主键字段表中出现一次;
- 联合主键不能包含不必要的字段。当把联合主键的某一字段删除后,如果剩下的字段构成的主键仍满足唯一性原则,那么这个联合主键是错误的。这是最小化原则。
- 在建表的时候设置主键约束 (单字段主键)
- 在定义字段的时候设置主键约束
create table <数据表名> (<字段名> <数据类型> primary key [默认值]);
例如:在数据库中创建学习信息数据表info_study,主键为_id,SQL语句以及运行结果如下:
mysql> create table info_student (
-> _id int(10) primary key,
-> name varchar(20),
-> class varchar(10),
-> age int(2));
Query OK, 0 rows affected (0.03 sec)
- 在定义完所有字段之后指定部件为主键约束(单字段主键/联合主键)
create table <数据表名> (<字段名> <数据类型>...,primary key [字段1,字段2...]);
mysql> create table boss_info(
-> _id int(10),
-> username varchar(50),
-> phone_number varchar(100),
-> primary key(_id,phone_number));
Query OK, 0 rows affected (0.02 sec)
注意:在设置联合主键的时候,不能在每个字段后面直接声明主键约束。
- 在修改表的时候添加主键约束(可以多个)
方法1:alter table <数据表名> modify <字段> <字段类型> primary key;
方法2:alter table <数据表名> add primary key(<字段名>,<字段名>,...);
方法1:mysql> alter table personal modify _id int(10) primary key;
Query OK, 0 rows affected (0.05 sec)
Records: 0 Duplicates: 0 Warnings: 0
方法2:mysql> alter table personal add primary key(_id);
Query OK, 0 rows affected (0.04 sec)
Records: 0 Duplicates: 0 Warnings: 0
注意:mysql> alter table personal add primary key(phone);
ERROR 1068 (42000): Multiple primary key defined
// 需要注意的是如果原表中存在约束,那么将报以上错误,多个主键定义
- 删除主键约束
alter table <数据表名> drop primary key;
mysql> alter table personal drop primary key;
Query OK, 0 rows affected (0.06 sec)
Records: 0 Duplicates: 0 Warnings: 0
- 如何删除带有自增长的主键约束
1、alter table <数据表的名称> modify column <字段名称> <新的类型(新的长度)>
2、alter table <数据表的名称> drop primary key;
mysql> alter table student_info modify column _id int(20);
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> alter table student_info drop primary key;
Query OK, 0 rows affected (0.06 sec)
Records: 0 Duplicates: 0 Warnings: 0
使用DOS出现以下错误输入';
即可
mysql> '
'>
'>
'> ';
总结
主键约束时使用最频繁的约束,一般情况下,都会在表中设置一个主键
在建立数据表的时候,一般情况下,为了方便地查找表中的记录,都会要求设置一个”主键“。
”主键“是表里面的一个特殊字段,这个字段能够唯一标识该表中的每条信息。
设置成主键约束的字段不允许有空值。
最后
以上就是香蕉马里奥为你收集整理的MySQL笔记3_约束_主键约束约束——主键约束(primary key)的全部内容,希望文章能够帮你解决MySQL笔记3_约束_主键约束约束——主键约束(primary key)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复