mysql自增长主键_MySQL数据库8(九)列属性之主键、自增长

主键

顾名思义,主要的键,primary key,在一张表中,有且只有一个字段,里面的值具有唯一性

创建主键

随表创建

系统提供了两种增加主键的方式:

1、直接在需要当做主键的字段之后,增加primary key属性来确定主键

2、在所有字段之后增加primary key选项:primary key(字段信息)

671119ca8cdfa1f6f0695a7f5c28c90d.png

表后增加

基本语法:alter table 表名 add primary key(字段);

fd71e0ae76c545bc07e3fcf7fe6d4a87.png

查看主键

方案1: 查看表结构

783eb291699b7dfb64c4a8e85c5a647a.png

方案2:查看表的创建语句

5ab26c3c96272a8548706acda45ab2ef.png

删除主键

基本语法:alter table 表名 drop primary key;

ae11984ca7bc44b13b71874e7d2f00ef.png

复合主键

2c4bc0560d1251b61be6047892ee527d.png

主键约束

主键一旦增加,那么对对应的字段数据有要求:

1、当前字段对应的数据不能为空。

2、当前字段对应的数据不能有任何重复

b78a0c6d8e42f2c9205e04d4ad8b141c.png

主键分类

主键分类采用的是主键所对应的字段的业务意义分类:

业务主键:主键所在的字段,具有业务意义(学生ID,课程ID)

逻辑主键:自然增长的整型(应用广泛)

自增长

自动增长:auto increment,当给定某个字段的属性之后,该列的数据在没有提供确定数据的时候,系统会根据之前已经存在的数据进行自动增加后,填充数据

通常自动增长用于逻辑主键

原理

自动增长的原理:

1、在系统中有维护一组数据,用来保存当前使用了自动增长属性的字段,记住当前对应的数据值,在给定一个指定的步长。

2、当用户进行数据插入的时候,如果没有给定值,系统在原始值上加上步长变成新的数据

3、自动增长的触发:给定属性的字段没有提供值

4、自动增长只适用于数值

使用自动增长

基本语法:在字段之后增加一个属性 auto_increment;

57a2c8b75e2cc99e9e7e01b620fa9208.png

插入数据:触发自动增长,不能给定具体值(可以给null)

2015e5d7cc6bdef79c639c7733b954f1.png

修改自动增长

1、查看自增长:自增长一旦触发使用后,会自动地在表选项中增加一个选项(一张表最多只能拥有一个自增长)

17450f67b787ffe95c110855caf1b2d3.png

2、表选项可以通过修改表结构来实现

基本语法:alter table 表名 auto_increment = 值;

d486c0788ad1f5cebe0429f5b9bea8f2.png

删除和增加自动增长

删除自增长:就是在字段属性之后不再保留auto_increment,当用户修改自增长所在字段时,如果没有看到auto_increment属性,系统会自动清除该自增长。

删除自增长:alter table my_auto modify id int;

增加自增长:alter table my_auto modify id int auto_increment;

887010a60cdad761534c1fe33da3dc9e.png

初始设置

在系统中,有一组变量用来维护自增长的初始值和步长

查看:show variables like ‘auto_increment%’;

5600745d850ec2073e307a2f062ff605.png

修改自增长步长和初始值:

set auto_increment_increment = 值;

set auto_increment_offset = 值;

0f812adefc48a3a8e1c47782281e95ce.png

细节问题

1、一张表中只有一个自增长,:自增长会上升到表选项中。

2、如果数据插入中没有触发自增长(给定了数据),那么自增长不会表现,用户指定数据之后,自增长不参与,但是自增长默默根据当前用户设定的值初始化下一个值。

3、自增长在修改的时候,值可以较大,但是不能比当前已有的自增长字段的值小。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/359005.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

初学者如何学编程呢

先简单做个测试,这样就能找出你比较适合哪种语言。 下面简单介绍一下不同的语言吧

CellSet 遍历

CellSet 结构: 查询MDX: SELECT NON EMPTY {{ {{ {{ {{ {{ AddCalculatedMembers([店铺.店铺ID].[店铺ID].Members)}} }} }} }} }} DIMENSION PROPERTIES MEMBER_TYPE , [店铺.店铺ID].[店铺ID].[国家], [店铺.店铺ID].[店铺ID].[区域], [店铺.…

如何找到微信公众号的视频链接及视频?

我们经常在微信公众号中看到一些视频,那么有时候看到比较好的我们都希望能把这个视频下载下来,长久保存! 那么,如何找到视频的原链接并下载成为自己的视频呢?我给大家简单总结一下吧。 首先要明白微信公众号的视频来源只会出现在腾讯视频和微视两个平台。 ​以这个公众号…

GetWeApp聊天室 代码(微信小程序)

说明: 实现聊天功能,特色: 使用webSocket实现即时通信 发送和显示表情 数据接口: 数据接口 目录结构&#

每个Java开发人员都必须避免的9个安全错误

Checkmarx CxSAST是功能强大的源代码分析(SCA)解决方案,旨在从根本上识别,跟踪和修复技术和逻辑安全缺陷:源代码。 在这里查看 ! 自从1995年中期引入Java以来​​,它已经走了很长一段路。 它的…

[转]iPhone本地化总结

再做本地化的过程中参考了许多资料,现在的中文资料还是少之又少,希望能给大家一些帮助。 1、本地化字符串,网上那些方法我就不说了,我只更正一点:如果你的Classes下面有子文件夹会报错,使用下面的命令&…

【APICloud系列|9】APICloud自定义APPloader一个月未更新,快速更新的办法

时间比较紧,简单写一下流程。 1.登录APICloud后台,找到模块,自定APPLoader,直接编译ANdroid版本,下载到本地。 2.找到当时创建自定义apploader的文件夹,将下载的安装包复制过来,并重新命名为load.apk,删除原来的安装包。 3.修改load.conf配置文件.并保存关闭。 版本号从…

珍藏多年的视频文案网站

5g元年,视频需要的文案网站你值得拥有 一、TOPYS | 全球顶尖创意分享平台 网址链接:TOPYS:https://www.topys.cn/ TOPYS立志打造一个多元、完备的泛创意知识产品系统和学习平台,试图成为A Creative Institution,希望借由创意的学…

vue项目安装less_部署vue项目、安装mongodb

一、node运行环境1、npm install -g n 通过npm 全局安装node2、sudo n 8.16.0 设置node版本Password:install : node-v8.16.0mkdir : /usr/local/n/versions/node/8.16.0fetch : https://nodejs.org/dist/v8.16.0/node-v8.16.0-darwin-x64.tar.gz#############################…

电脑正常启动黑屏,安全模式正常启动的解决办法

今天早上起来,打开电脑,输入账号信息进入后发现是黑屏,本以为电脑卡顿等等看,我看还是黑屏就关机重启了几次发现还是黑屏,然后进入安全模式下发现页面能打开,但是我们都知道安全模式只会加载一些必要的程序…

2.4 万余门在线课程免费开放!大量计算机相关课程.(赶紧收藏)

日前,教育部印发指导意见,面向全国高校免费开放全部优质在线课程和虚拟仿真实验教学资源。 截至 2 月 2 日,教育部组织了 22 个在线课程平台制定了多样化在线教学解决方案,免费开放包括 1291 门国家精品在线开放课程和 401 门国家虚拟仿真实验课程在内的在线课程 2.4 万余门…

Java Micro Framework:您无法忽略的新趋势

什么是Java微框架,为什么要使用它们? 每种语言都有权衡。 对于Java,要成为一种安全,经过严格测试,向后兼容的语言,就要在敏捷性和精简性方面做出一些牺牲。 毫无疑问,它有一些冗长和冗长的内容…

springboot mysql时区设置_java/springboot/mysql时区问题解决方案

解决步骤:先理清楚逻辑数据从mysql查出-->进入docker(没容器化跳过)-->进入相应的应用程序(比如java或者框架springboot之类的)-->程序处理完输出返回给前端或者页面-->展示第一步:先查mysql所以先进入mysql控制台,select now(),时区没问题则…

【APICloud系列|10】最新苹果APP上架App Store流程(超详细)

2018最新整理iOS app上架app详细教程 上架iOS需要一个付费688的开发者账号,还没有的话申请一个或者借用。 申请苹果开发者账号教程 上架App Store之前是先安装到苹果手机测试调试好,app能正常运行再上架

proxifier访问https错误_教你实现IE访问https网站不出错方法

不同的系统出现的问题是不一样的,有小伙伴在电脑账打开我们的网站的时候发现不能正常的打开我们的电脑出现,是否只查看安全传送的网页内容的错误的提示,那我们遇到这个问题应该怎么处理访问https网站呢,今天小编就来跟大家分享一下…

UA Web挑战会议:针对初创公司的SpringIO

在本周,我在“后端”部分的UA Web挑战会议上发表了讲话。 我在演讲中选择了一个奇怪的话题-“面向初创企业的SpringIO”。 结果是什么? 我将在下面总结。 在过去三年中,我开发了各种个人Web项目。 我再也没有称它们为“初创企业”&#xff0…

python 小说分析_谁还没看过几本金庸小说?用Python分析一下当年最爱看的主角是谁...

jieba用起来非常简单,短短几行代码就完成了分词工作(下图),可是...仔细一看发现哪里不对了“段誉”作为一个姓名没有被单独分出来,而是和其他一些动词连在一起,另外也有一些角色名字被拆分成了两个甚至更多的单词,例如…

【APICloud系列|13】移动端适配通揽

一、为什么要移动端适配? 一般情况下设计稿的设计师按照 375 的尺寸设计,然而,在现在移动终端(就是手机)快速更新的时代,每个品牌的手机都有着不同的物理分辨率,这样就会导致,每台设备的逻辑分辨率也不尽相同,此时 375 的设计稿,如果想要还原那基本是不可能了,因为如…

初级程序员应该怎么办?

你现在工作迷茫?不防看看这几条建议 01、吃透一门编程语言 这个技能看起来似乎没有必要强调,毕竟程序员不懂一种编程语言也说不过去啊。我之所以再次强调是怕你“贪心”,以为技多不压身就拼了命的学很多种编程语言。 有个大二的学生就曾经问我:“你好呀,老哥,有个问题…

【APICloud系列|14】xcode下载地址

下载地址:https://developer.apple.com/download/more/ 这个是使用苹果Mac下载xcode用于上架appstore打包的软件。 Windows的Xcode:在PC上安装Xcode的5种方法 参考帖子:https://blog.csdn.net/qq_36666115/article/details/86485305