千家信息网

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

发表于:2024-11-27 作者:千家信息网编辑
千家信息网最后更新 2024年11月27日,本文主要给大家介绍工作中经常用到的mysql基础知识,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下工作中经常用到的mysql基础知识吧。一张表
千家信息网最后更新 2024年11月27日总结工作中经常用到的mysql基础知识本文主要给大家介绍工作中经常用到的mysql基础知识,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下工作中经常用到的mysql基础知识吧。
  1. 一张表,里面有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基础知识,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的行业资讯栏目的。

数据 支持 日志 字符 时候 存储 信息 字符串 类型 知识 最大 数字 数据库 基础 基础知识 工作 两个 事务 多条 引擎 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 嘉定区创新数据库服务商价钱 中国澳门定制oa服务器云主机 数据库集群系统 数据库中单目运算符是什么 开封网络安全宣传仪式 软件开发最厉害的城市 国家安全与网络安全的总结 近代资料库数据库 海岛奇兵升级数据库 4tb服务器硬盘 数据库设计的最后阶段是 教学软件开发公司开发出适用于 代理服务器是什么意思 支付软件开发公司资质 怎么卸掉oral数据库 数据库单表数据多少条 小学开展网络安全宣传周活动通知 什么样的网络安全文章好 福建网络安全审计硬件设备多少钱 虚拟主机mysql数据库连接 网络安全的好书征文 量子计算机与信息网络技术 2020年网络安全答题竞赛 怎么样查询笔记本服务器 徐州游戏软件开发项目 学软件开发要学黑客的技术吗 软件开发工程师工作辛苦吗 办公室服务器管理方案 小米2打不开ftp服务器 欧洲电子数据库
0