mysql设置主键的作用是什么
发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,这篇文章给大家分享的是有关mysql设置主键的作用是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。mysql设置主键的作用是:1、唯一地标识表中的每一行,通过它可强制表
千家信息网最后更新 2025年11月10日mysql设置主键的作用是什么
这篇文章给大家分享的是有关mysql设置主键的作用是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。
mysql设置主键的作用是:1、唯一地标识表中的每一行,通过它可强制表的实体完整性;2、主要是用于其他表的外键关联,以及本记录的修改与删除。

mysql设置主键的作用是:
1、什么是主键
数据库主键,指的是一个列或多列的组合,其值能唯一地标识表中的每一行,通过它可强制表的实体完整性。主键主要是用于其他表的外键关联,以及本记录的修改与删除。
2、主键的作用
主键是能确定一条记录的唯一标识,主键字段必须唯一,必须非空,一个表中只能有一个主键,主键可以包含一个或多个字段。
打个比方,一条记录包括身份正号,姓名,年龄,学校,国籍,性别等。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。
3、MySQL创建一张没有主键的表
[root@node110 ~]# mysql -uroot -pyinzhengjiemysql: [Warning] Using a password on the command line interface can be insecure.Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 13Server version: 8.0.14 MySQL Community Server - GPLCopyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> mysql> mysql> CREATE DATABASE devops CHARACTER SET = utf8;Query OK, 1 row affected, 1 warning (0.00 sec)mysql> mysql> mysql> use devopsDatabase changedmysql> show tables;Empty set (0.00 sec)mysql> mysql> CREATE TABLE students(stu_id INT(11),stu_name VARCHAR(50),gender INT(11)); #首先,我们这里只是创建了一张极为普通的表。Query OK, 0 rows affected (0.01 sec)mysql> mysql> INSERT INTO students VALUES(1,'jason',10); #插入第一条数据Query OK, 1 row affected (0.00 sec)mysql> mysql> INSERT INTO students VALUES(2,'danny',20); #插入第二条数据Query OK, 1 row affected (0.01 sec)mysql> mysql> INSERT INTO students VALUES(1,'jenny',30); #插入第三条数据,注意!这个id和第一条插入的数据是相同的,别问我为什么这么干,我是故意这样搞的!Query OK, 1 row affected (0.00 sec)mysql>mysql> SELECT * FROM students; #我们查询咱们刚刚插入的三条数据+--------+----------+--------+| stu_id | stu_name | gender |+--------+----------+--------+| 1 | jason | 10 || 2 | danny | 20 || 1 | jenny | 30 |+--------+----------+--------+3 rows in set (0.00 sec)mysql>
4、创建一张含有主键的表(student_primary)
mysql> CREATE TABLE student_primary(stu_id INT(11) PRIMARY KEY AUTO_INCREMENT,stu_name VARCHAR(50),gender INT(11)); #仔细一下这个建表语句,除了和上面的表名不同,我还为stu_id字段加了主键属性,以及自动增长的属性!Query OK, 0 rows affected (0.01 sec)mysql> mysql> INSERT INTO student_primary VALUES(1,'json',10); #这里我们插入第一条数据Query OK, 1 row affected (0.00 sec)mysql> mysql> INSERT INTO student_primary VALUES(2,'danny',20); #这里我们插入第二条数据Query OK, 1 row affected (0.01 sec)mysql> mysql> INSERT INTO student_primary VALUES(1,'jenny',30); #这里我们插入第三条数据时,报错啦!提示主键重复!ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'mysql> mysql> mysql> SELECT * FROM student_primary; #我们查看表中的数据,果不其然,只有两条数据!第三条数据没有被插入进来,因为它不符合我们定义的主键规则!主键必须唯一且非空!+--------+----------+--------+| stu_id | stu_name | gender |+--------+----------+--------+| 1 | json | 10 || 2 | danny | 20 |+--------+----------+--------+2 rows in set (0.00 sec)mysql>
5、在创建一张含有主键的表(course)
mysql> CREATE TABLE course(id INT(11) PRIMARY KEY AUTO_INCREMENT,course_name VARCHAR(30)); Query OK, 0 rows affected (0.02 sec)mysql> mysql> INSERT INTO course VALUES(1,'Chinese'); #插入第一条数据Query OK, 1 row affected (0.01 sec)mysql> mysql> INSERT INTO course VALUES(2,'English'); Query OK, 1 row affected (0.00 sec)mysql> INSERT INTO course VALUES(3,'Mathematics'),(4,'Physics'),(5,'Chemistry'),(6,'Biology'); #咱们可以同时插入多条数据Query OK, 4 rows affected (0.01 sec)Records: 4 Duplicates: 0 Warnings: 0mysql> mysql> SELECT * FROM course;+----+-------------+| id | course_name |+----+-------------+| 1 | Chinese || 2 | English || 3 | Mathematics || 4 | Physics || 5 | Chemistry || 6 | Biology |+----+-------------+6 rows in set (0.00 sec)mysql>
感谢各位的阅读!关于mysql设置主键的作用是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!
数据
作用
三条
字段
身份
建一
一行
内容
地标
完整性
实体
属性
更多
证号
关联
强制
不同
不错
实用
普通
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库界面约束表达式
镇江网络服务器机柜直接供货
数据库表格列的范围
广日电梯服务器怎么呼梯
中小企业服务器托管
软件开发项目奖金
山西正规软件开发服务五星服务
网络安全监测装置技术规范
加强网络安全监测值守工作
app定制软件开发温州
学人工智能可以软件开发吗
oa软件开发建设
如何导出数据库关系图
盐城移动网络技术专家王朝阳
svn 服务器日志
本地访问数据库服务器配置
数据库售前工程师
obs数据库
国开计算机网络技术课程
中华人民共和国网络安全教育法
soshoo数据库
新疆网络技术公司
网络技术部颁奖词
软件开发的基本模型
快递数据库管理
大学生网络安全保卫方案
zblog备份数据库位置
网络安全要学什么技术
联通apn哪个服务器
数据库如何存储到内存卡