本文将总结一些常见的MySQL面试题:

01、数据库字段类型

MySQL常见的数据类型有哪些?

MySQL数据类型分为数值类型、日期时间型和字符串类型。数值类型常见的是TINYINT、INT、DECIMAL,日期类型常见的有DATE、DATETIME,字符串类型常见的有CHAR、VARCHAR、TEXT。详细介绍见文章末尾的图片。

MySQL数据类型中CHAR和VARCHAR有什么区别?

CHAR和VARCHAR都是用来存储字符串的,但是他们存储和查询的方式不同。

CHAR是属于固定长度的字符类型,而VARCHAR是属于可变长度的字符类型。

因为CHAR是固定长度的,所以它的处理速度比VARCHAR快很多,但是它的缺点是浪费存储空间。在读取CHAR类型数据时如果尾部有空格会丢失空格,所以对于那种长度变化不大的并且对查询速度有较高要求的数据可以考虑使用CHAR类型来存储。

VARCHAR是变长字符串,对那些对长度不确定的字符串可以使用VARCHAR类型来存储。

02、存储引擎相关问题

MySQL常见的存储引擎有哪些?

常见的存储引擎有InnoDB、MyISAM、MEMORY等

MySQL存储引擎之间的区别

(1)对于MyISAM来说,不支持事务;不支持外键;支持表锁;这种存储引擎的表会生成三个文件(索引文件、表结构文件、数据文件);存储表的总行数,查询时只要读取这个总函数就行;采用非聚集索引;支持全文索引和空间索引;

(2)于InnoDB来说,支持事务,有四种事务隔离级别;支持行锁和外键约束;不存储总行数,查询总行数需要遍历整张表;对于AUTO_INCREMENT类型的字段,必须包含只有该字段的索引;表索引和数据存储在一个文件内;主键索引采用聚集索引;

03、数据库事务

数据库范式介绍

(1)1NF:字段不可分;原子性,字段不可再分,否则就算不上关系数据库

(2)2NF:有主键,非主键字段依赖主键;唯一性,一个表只说明一个事物

(3)3NF:非主键字段不能相互依赖;每列都与主键有直接关系,不存在传递依赖

数据库事务基本要素

(1)原子性(Atomicity);事务开始后所有操作,要么全部做完,要么全部不做,不能停滞在中间环节。

(2)一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏。

(3)隔离性(Isolation):同一时间,只允许一个事务请求同一数据,不同的事务之间彼此没有任何干扰。

(4)持久性(Durability):事务完成后,事务对数据库的所有更新将被保存到数据库,不能回滚。

数据库事务隔离级别

读未提交(read-uncommitted)、不可重复读(read-committed)、可重复读(repeatable-read)、串行化(serializable)

脏读、幻读、不可重复读介绍

(1)脏读:事务B修改数据但未提交,事务A读数据,然后B回滚,则A读到的是脏数据。

(2)不可重复读:事务A第一次读取数据,事务B修改数据提交,事务A第二次读数据,两次数据不一致。

(3)幻读:事务A update表的全部行,事务B插入一行,事务A就会发现表中还有未修改的行。(一般加间隙锁)

php程序员必会的,PHP程序员必会的MySQL面试题相关推荐

  1. java程序员基础算法_java程序员必知的十种程序算法

    <java程序员必知的十种程序算法>由会员分享,可在线阅读,更多相关<java程序员必知的十种程序算法(11页珍藏版)>请在人人文库网上搜索. 1.java程序员必学的十种程序 ...

  2. java跳槽原因_跳槽求职必看:Java程序猿面试失败的5大原因!

    四月,又到了应聘跳槽高峰期了,而应聘程序员的要求更是越来越多了.如今的企业不仅要程序员做的了专职码农,还要你有一定的工作经验和过硬的技术,不仅找的到bug还能搞的定产品,不仅逻辑思维细密还要能抗压力, ...

  3. 程序员大佬的简历和普通程序员有啥区别?

    最近后台收到不少留言:0基础怎么学好 Java? 提问的人里有在校大学生.也有工作了一段时间想转行的职场新人. (其中两个提问截图) 交流下来,大家都有同一个行为模式:刚开始劲头十足,上网找了一堆资料 ...

  4. 程序员的健康问题终于有救了,有个资深程序员写了本《程序员健康指南》!

    点击蓝色"程序员书单"关注我哟 加个"星标",每天带你看好文,读好书! 最近黄小斜在网上为小伙伴们找一些关于程序员健康的书籍,没想到居然还真被我找到了一本,看来 ...

  5. 不服丨月薪10k程序员vs月薪40K的程序员

    程序员的薪资一直是大家关注的焦点,对于一个起薪基本上在10k的行业来说,程序员也是分等级的. 不同等级的程序员处理问题的方式与他们的薪资直接挂钩,接下来小编就带着大家一起看一下月薪10k.20k.30 ...

  6. 一个十几年程序员给所有新老程序员的忠告

    吉日噶拉(在外企.上市公司工作过,自己也创业失败过,遇到过很多失败挫折,甚至露宿街头,但是最后还是挺过来了),是一个十几年的程序员了,里面介绍了他的相关经历,以及他的一下经验,无论是对刚入门的程序员, ...

  7. [转]一个十几年程序员给所有新老程序员的忠告

    吉日噶拉(在外企.上市公司工作过,自己也创业失败过,遇到过很多失败挫折,甚至露宿街头,但是最后还是挺过来了),是一个十几年的程序员了,里面介绍了他的相关经历,以及他的一下经验,无论是对刚入门的程序员, ...

  8. 程序员如何让自己的程序少出BUG- [工作]

    工作两年多,从刚开始什么都不懂,到慢慢发现知识的重要,特别是知识积累的重要,所以从去年开始,才懂得积累知识,并且开始记录,记录遇到的问题.如何解决以及一些瞬间的想法,还将每个工作经历都贴在我的工作桌上 ...

  9. 【伯乐在线】程序员常有,优秀程序员不常有

    本文由 伯乐在线 - 青劲草 翻译自 www.quora.com.未经许可,禁止转载! 欢迎加入:翻译小组,通过 翻译频道 贡献一份力量. [伯乐在线导读]:本文源自 Quora 问答贴<为何没 ...

  10. 程序员初试和复试_程序员因肌肉发达面试被质疑能力,网友:这做程序员有啥关系呢?...

    如今的程序员,是互联网界的重要职业,不仅各种项目和系统需要程序员维护,还有很多前沿技术的进步也需要程序员来开发,因此程序员往往比较忙,而因此程序员被套上了各种职业病的标签.可是近日,有一位HR在招聘程 ...

最新文章

  1. linux常用命令-date-clock-hwclock-type-whois--help-man-info-cal
  2. 在机器学习中处理大量数据!
  3. sql isnull怎么没用_SQL语言在数据工程(Data Engineering)中的运用(一)
  4. [转]实用至上!12个Vista服务可关闭
  5. [云炬创业管理笔记]第四章把握创业机会测试2
  6. CVPR 2018 MCCT:《Multi-Cue Correlation Filters for Roubust Visual Tracking》论文笔记
  7. sharesdk短信验证码的集成
  8. Python开发利器之UliPad
  9. java集合框架总结(一)
  10. 使用数据库维护计划SQL Server更新统计信息
  11. 【cornerstone】撤销标注点位(通过ctrl+z)
  12. java面向对象实现表达式计算,java面向对象课程设计-数学表达式计算器
  13. python自动化怎么发微信_在python中使用itchat发送微信消息
  14. 平安城市视频监控运维解决方案
  15. input中加入搜索图标
  16. WIFI模块AP和STA模式分别是什么意思
  17. 计划任务和周期任务mail,at,batch,atq, atrm, cron, crontab
  18. 计算机网络: IP地址,子网掩码,网段表示法,默认网关,DNS服务器详解
  19. html 运行css实现3D正方体旋转制作进阶,调整图大小及远近(二)
  20. 上传本地图片到数据库

热门文章

  1. 喜大普奔!Github 移动端上架!
  2. 图像分类:常用分类网络结构(附论文下载)
  3. 技术干货 | 如何在 Electron 上实现 IM SDK 聊天消息全文检索
  4. 无参考评估在云信的视频测试实践
  5. 互联网医疗的前世今生与未来
  6. 今天网易云有大事发生?!
  7. 轮播插件swiper.js?
  8. ECMALL数据库关系模型的实现
  9. cacti 整合nagios,以及总是off处理办法!
  10. NAnt简单介绍和我第一个例子