总结工作中经常用到的mysql基础知识

发布时间:2020-06-08 11:27:30

来源:51CTO

阅读:217

作者:三月

本文主要给大家介绍工作中经常用到的mysql基础知识,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下工作中经常用到的mysql基础知识吧。一张表,里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把Mysql重启,再insert一条记录,这条记录的ID是18还是15 ?

(1)如果表的类型是MyISAM,那么是18

因为MyISAM表会把自增主键的最大ID记录到数据文件里,重启MySQL自增主键的最大ID也不会丢失

(2)如果表的类型是InnoDB,那么是15

InnoDB表只是把自增主键的最大ID记录到内存中,所以重启数据库或者是对表进行OPTIMIZE操作,都会导致最大ID丢失

(3) 如果不重启的话 两个引擎都是从18开始

(4)如果用truncate 两个引擎都是从1开始

2. 字符串数据类型enum与set

(1)enum

单选字符串数据类型,适合存储表单界面中的“单选值”。

设定enum的时候,需要给定“固定的几个选项”;存储的时候就只存储其中的一个值。

设定enum的格式:

enum("选项1","选项2","选项3",...);

实际上,enum的选项都会对应一个数字,依次是1,2,3,4,5...,最多有65535个选项

使用的时候,可以使用选项的字符串格式,也可以使用对应的数字。

(2)set

多选字符串数据类型,适合存储表单界面的“多选值”。

设定set的时候,同样需要给定“固定的几个选项”;存储的时候,可以存储其中的若干个值。

设定set的格式:

set("选项1","选项2","选项3",...)

同样的,set的每个选项值也对应一个数字,依次是1,2,4,8,16...,最多有64个选项

使用的时候,可以使用set选项的字符串本身(多个选项用逗号分隔),也可以使用多个选项的数字之和(比如:1+2+4=7)

3.mysql log

错误日志:记录出错信息,也记录一些警告信息或者正确的信息。

查询日志:记录所有对数据库请求的信息,不论这些请求是否得到了正确的执行。

慢查询日志:设置一个阈值,将运行时间超过该值的所有SQL语句都记录到慢查询的日志文件中。

二进制日志:记录对数据库执行更改的所有操作。

redo日志:记录已提交的修改后的数据,用于数据库突然断电,重启后可以通过redolog来恢复断电前的数据

undo日志:记录事务修改前的数据,用于事务回退,可以通过undolog恢复事务之前的数据

4、MySQL中myisam与innodb的区别

1>.InnoDB支持事物,而MyISAM不支持事物

2>.InnoDB支持行级锁,而MyISAM支持表级锁

3>.InnoDB支持MVCC, 而MyISAM不支持

4>.InnoDB支持外键,而MyISAM不支持

5>.InnoDB不支持全文索引,而MyISAM支持。

(2)、innodb引擎的4大特性

插入缓冲(insert buffer),二次写(double write),自适应哈希索引(ahi),预读(read ahead)

(3)、2者selectcount(*)哪个更快,为什么

myisam更快,因为myisam内部维护了一个计数器,可以直接调取。

5、多对多关系的理解

比如有两个表A、B, 多对多是指A表中的某一条数据有可能对应B表中的多条数据,而且还有一些条数据可能对应B表中的一条数据。(不是指A表中的多条数据对应着B表中的多条数据)

所以这里需要个中间表C,C中至少有两列,每列上都创建外键并分别引用A和B。C表中的这两列为联合主键,防止重复。

6.char(n)和varchar(n)这里的n是n个字符,不是字节(mysql5以上)

7.int(n) n是显示的位数,不是长度,不管n为多少,int的长度只能是4个字节

看完以上关于工作中经常用到的mysql基础知识,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的行业资讯栏目的。

MySQL工作中的实际用_总结工作中经常用到的mysql基础知识相关推荐

  1. html中table标签、tr标签、th标签、td标签的基础知识

    html中table标签.tr标签.th标签.td标签的基础知识 表格的结构 表格的基本标签 表格标签的基本属性 table标签的基本属性 tr标签的基本属性 th和td标签的基本属性 表格高级样式设 ...

  2. 中去掉外键_【Java笔记】035天,MySQL中的增删改查

    学习Java的第35天. 今天天除了学习MySQL中的各种约束,MySQL中DML的操作,还有MySQL查询语句ds-- MySQLdz中d的约束有: • 非空约束(not null) • 唯一性约束 ...

  3. Mysql生产环境表更新方案_生产环境中,数据库升级维护的最佳解决方案flyway

    官网:https://flywaydb.org/ 转载:http://casheen.iteye.com/blog/1749916 1.  引言 想到要管理数据库的版本,是在实际产品中遇到问题后想到的 ...

  4. mysql数据库取奇数行数据_查询数据库中的奇数行和偶数行

    功能奇数次执行和偶数次执行时的结果不同的故障复盘 场景:将数据库查询到的数据,写入一个xls文件.完成后,多点几次,发现一个问题,偶数次生成的文件比较小,打开一看,里面只有一行,只有标题,没有内容.分 ...

  5. c++中小于等于怎么表示_那些工作中常常用到的python36道大厂面试题,你GIAO了没?

    前言 今天小编给大家整理是python的一些面试题,小编总是收到私信要问我一些关于面试的小技巧和面试题.可是我们反过来想一想自己的技术如果不到位,就算在面试的时候能够蒙混过关,上班之后将怎么面对呢,可 ...

  6. mysql驱动为什么自动加载_为什么JDBC中加载驱动要使用反射?

    原文链接:https://www.cnblogs.com/homejim/p/8076481.html 在JDBC详解系列(一)之流程中,我将数据库的连接分解成了六个步骤. JDBC流程: 第一步:加 ...

  7. 三极管在ad中的原理图库_三极管工作原理介绍,NPN和PNP型三极管的原理图与各个引脚介绍...

    三极管,全称应为半导体三极管,也称双极型晶体管.晶体三极管,是一种电流控制电流的半导体器件·其作用是把微弱信号放大成幅度值较大的电信号, 也用作无触点开关.晶体三极管,是半导体基本元器件之一,具有电流 ...

  8. python如何运用到财务工作中存在的问题_财务工作存在问题及整改措施

    1 财务工作存在问题及整改措施 财务工作存在问题及整改措施 范文一 (一)存在的问题和不足 近年来, 经过学院各部门的共同努力, 我院国有资产管理工作取 得了一定的成绩, 但仍有部分环节需要进一步加强 ...

  9. mysql主键干嘛的_数据库表中的主键有什么作用?

    展开全部 数据库主键 主键:表中经常有一个列或多列的组合,其值能唯一地标识表中的每一行.这样e69da5e6ba9062616964757a686964616f31333365643534的一列或多列 ...

最新文章

  1. 买了一个软件测试就业班课程,不知道值不值
  2. zabbix学习(四)IT_Service管理
  3. 全球及中国自媒体行业营销模式及应用规模前景分析报告2021-2027年
  4. react 引用本地js_从零配置webpack 4+react脚手架(二)
  5. bzoj4415 [Shoi2013]发牌 线段树
  6. 想创业怕失败就不要轻易选择去创业
  7. 桥接网络,nat网络,静态IP配置,相关命令
  8. 重磅:达摩院医疗AI团队CVPR'20论文解读 | 凌云时刻
  9. 低压差线性稳压器MPQ2013A-AEC1品牌MPS国产替代
  10. EFcore数据库随机排序获取数据
  11. UOJRoundPLUS+
  12. 智慧产业园区综合解决方案
  13. 使用Qt对Excel复选框等进行阅读、修改
  14. luogu P1195 口袋的天空
  15. java求圆的面积和周长
  16. Android butterknife黄油刀使用大全
  17. SQLServer 连接不上 找不到网络路径
  18. win10计算机自带的游戏怎么打开方式,win10自带游戏及应用打不开,应用商店闪退无法使用...
  19. Mac OS--终端
  20. 华为认证考试怎么预约?这本指南书教你一次到位!

热门文章

  1. axure web组件_主流设计组件规范amp;下载地址汇编
  2. win8计算机里没有用户,win8.1系统没有选择切换账户菜单怎么办|win8.1系统切换用户的方法...
  3. html标签slot,插槽solt和slot-scope
  4. python中的matlibplot_python中如何用matlibplot画时间序列图?
  5. python数据库查询系统_Python MySQL 查询数据(select from)
  6. throw和throws的区别是什么简答_Throws的作用是 ( )_学小易找答案...
  7. 计算机专业中专排名,江西计算机专业学校排名中专
  8. Linux计算内存,正确计算linux系统内存使用率
  9. C语言 system
  10. MySQL Bit Functions and Operators(二进制方法)