千家信息网

mysql设置主键的作用是什么

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,这篇文章给大家分享的是有关mysql设置主键的作用是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。mysql设置主键的作用是:1、唯一地标识表中的每一行,通过它可强制表
千家信息网最后更新 2024年11月23日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安全错误 数据库的锁怎样保障安全 虚拟机怎么登录数据库 杭州工企危服网络技术招聘 西藏数字化城管软件开发电话 网络安全手抄报图片可爱壁纸 迷你世界怎么关闭云服务器 中国的计算机网络技术 服务器安装界面无法删除硬盘 瀑布模型追求软件开发的速度 计算机网络技术考专升本 关于网络安全的危害 pc服务器是什么东西 小米 单独备份游戏数据库 数据库所有的字段类型都用字符串 台州专业零件加工管理软件开发 数据库插入整行 数据库填补 河南专科软件开发哪个学校好 比个云服务器 软件开发课未来规划 学计算机网络技术用什么软件 网络安全业务大全 加大青少年网络安全教育 网络安全管理办法试题 学费分期软件开发 以色列网络安全创业 tcl软件开发的年终奖 关于服务器连接失败的原因 在通常情况下什么不是数据库对象 服务器运行任务管理系统 陕西钢板套料软件开发商
0