主键

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

创建主键

随表创建

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

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

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

表后增加

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

查看主键

方案1: 查看表结构

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

删除主键

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

复合主键

主键约束

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

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

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

主键分类

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

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

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

自增长

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

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

原理

自动增长的原理:

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

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

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

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

使用自动增长

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

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

修改自动增长

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

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

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

删除和增加自动增长

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

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

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

初始设置

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

查看:show variables like ‘auto_increment%’;

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

set auto_increment_increment = 值;

set auto_increment_offset = 值;

细节问题

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

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

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

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

  1. mysql 主键列_MySQL列属性 之 主键

    MySQL列属性 之 主键 主键 主键:primary key, 表中主要的键,每张表可以设置主键,主键可以是一个字段或者多个字段.多个字段联合起来做主键叫复合主键.主键是用来唯一标识一条记录的,不能 ...

  2. linux mysql 实战_Linux平台MySQL多实例项目实施_MySQL数据库基础与项目实战06

    Linux平台MySQL多实例项目实施_MySQL数据库基础与项目实战06 视频教程学习地址 Oracle/MySQL数据库学习专用QQ群:336282998.189070296 学完风哥本课程能熟悉 ...

  3. mysql的sleep线程多久_MySQL数据库sleep线程过多,怎么办?

    推荐文章 要想知道每个数据库的大小的话,步骤如下:1.进入information_schema 数据库(存放了其他的数据库的信息) use information_schema; 2.查询所有数据的大 ...

  4. mysql修改级联表数据_MySQL数据库 外键,级联, 修改表的操作

    1.外键: 用来建立两张表之间的关系 - 一对多 - 多对多 - 一对一 研究表与表之间的关系: 1.定义一张 员工部门表 id, name, gender, dep_name, dep_desc - ...

  5. mysql数据库教程 外键_MySQL数据库外键

    设置外键 外键及功能:成绩表(参照表也叫子表)中的学号来自学生表(被参照表也叫父表),成绩表中的课程号来自课程表:当要删除或更新被参照表中的给字段的值时,参照表该字段的值如何改变.在on delete ...

  6. mysql中关系怎么弄_mysql数据库关系操作

    ### mysql数据库 #### 知识要点: 1. 数据操作增.删.改 2. 外键约束要求 3. 一对多表关系 4. 一对一表关系 5. 多对多表关系 6. 外键约束的参照操作 ### 数据操作 # ...

  7. mysql初体验学习笔记_MySQL数据库初体验

    克隆表,将数据表的数据记录生成到新的表中 方法一: create table test01 like GCC01; #通过 LIKE 方法,复制GCC01表结构生成test01表 insert int ...

  8. mysql中ak替换键_数据库:唯一性约束_alternate key(替换键) mySQL Oracle 数据库 ak 唯一性约束...

    数据库:唯一性约束_alternate key(替换键) mySQL Oracle 数据库 ak 唯一性约束 数据库:唯一性约束 所谓唯一性约束(unique constraint)不过是数据表内替代 ...

  9. mysql增删改查大全_MySQL数据库增删改查SQL语句(2018整理集合大全)

    查看数据库 show databases; 使用数据库 use 数据库名; 创建数据库 CREATE DATABASE 数据库名; 删除数据库 DROP DATABASE 数据库名; 创建表 crea ...

  10. mysql判断题题库_MySQL数据库考试试题及答案

    37.下列哪些数据是字符型数据.( ) A.中国 B."1+2" C."can't" D."张三-李四" 答案:B,D,C 38.关于语句l ...

最新文章

  1. NFL原则告诉我们做决策的时候,试图找到一个能解决所有问题,“大而全”的方案是不存在的。我们应当找到最关心的问题,因地制宜做出选择。——聚焦目标,取舍有道!...
  2. java安装 环境配置
  3. spring mvc使用的一些注意事项
  4. iOS 二叉树相关算法实现
  5. apply和call用法
  6. Windows下安装python2和python3双版本
  7. android 读取sd卡中string.xml,android,从SD卡读取xml文件中的值
  8. python数组做参数_python完成数组格式的请求参数的加密计算
  9. 网站敏感词过滤的实现(附敏感词库)
  10. Linux多线程编程入门
  11. android签名命令行,Android系统签名位置及命令
  12. 工程实践:基于C/C++的学生账目管理系统(个人账本管理系统)
  13. Matlab分类识别实战||基于神经网络的深水船水声音数据集的识别与分类(GoogLeNet+SqueezeNet+AlexNet)
  14. PytorchVideo Transforms 详解
  15. 618京东淘宝自动脚本
  16. 安卓系统应用程序开发!灵魂一问-如何彻底防止APK反编译?大厂面试题汇总
  17. Python编程PTA题解——两数之和
  18. matlab学习之蒙特卡罗 --渡口模型和赶火车问题(matlab编程)-----数模
  19. 初学怕python画图工具pen以及初学个人感悟
  20. DMC-Net: Generating Discriminative Motion Cues for Fast Compressed Video Action Recognition 论文赏析

热门文章

  1. 御龙在天手游怎么不显示服务器了,御龙在天手游进不去怎么办 闪退原因及解决办法...
  2. c语言链表写贪吃蛇思路,C语言构建的链表贪吃蛇
  3. MySQL中引入存储引擎意义是_mysql学习九:存储引擎、存储过程和函数的引入
  4. 【MFC系列-第22天】GDI算法实战——过渡色
  5. No module named ‘__main__.common‘; ‘__main__‘ is not a package
  6. python怎样使用各个日期赤纬_python--日期操作
  7. python取文本中间_Python读取两个字符串之间的特定文本行
  8. 深入理解C指针第一章小结1
  9. yandexbot ip列表整理做俄罗斯市场的站长可以关注一下
  10. 《Effective Java》读书笔记 - 5.泛型