广告
返回顶部
首页 > 资讯 > 数据库 >总结工作中经常用到的mysql基础知识
  • 616
分享到

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

2024-04-02 19:04:59 616人浏览 泡泡鱼
摘要

本文主要给大家介绍工作中经常用到的Mysql基础知识,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下工作中经常用到的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基础知识,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的数据库栏目的。

您可能感兴趣的文档:

--结束END--

本文标题: 总结工作中经常用到的mysql基础知识

本文链接: https://www.lsjlt.com/news/36713.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 总结工作中经常用到的mysql基础知识
    本文主要给大家介绍工作中经常用到的mysql基础知识,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下工作中经常用到的mysql基础知识吧。一张表,里面...
    99+
    2022-10-18
  • Go语言实现操作MySQL的基础知识总结
    目录前言下载依赖使用 mysql 驱动SetMaxOpenConnsSetMaxIdleConns操作前言 MySQL 是目前开发中最常见的关系型数据库,也是程序员打交道最多的数据库。 使用 Go 语言进行操控数据库需要...
    99+
    2022-09-01
  • 工作中常用到的Linux命令总结
    在工作中多使用docker、kubernetes等开源工具。工作中基本都是基于linux系统进行操作的。记录一下工作中常用到的Linux命令,每个命令搭配一定的参数使用会更加方便。这里只记录常用到的命令以及参数 一. 系...
    99+
    2022-06-04
    常用到的Linux命令总结 Linux命令总结 Linux命令
  • Python中字典的基础介绍及常用操作总结
    目录1.字典的介绍2.访问字典的值(一)根据键访问值(二)通过get()方法访问值3.修改字典的值4.添加字典的元素(键值对)5.删除字典的元素6.字典常见操作1.len 测量字典中...
    99+
    2022-11-12
  • Python中元组的基础介绍及常用操作总结
    目录1.元组的介绍2.访问元组3.修改元组(不可以修改的)4.元组的内置函数有count,index5.类型转换1.将元组转换为列表2.将元组转换为集合1.元组的介绍 Python...
    99+
    2022-11-12
  • Python中字符串的基础介绍及常用操作总结
    目录1.字符串的介绍2.字符串的下标3.字符串切片4.字符串find()操作5.字符串index()操作6.字符串count()操作7.字符串replace()操作8.字符串spli...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作