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面试题2018mysql_PHP程序员必会的MySQL面试题相关推荐

  1. php程序员必会的,PHP程序员必会的MySQL面试题

    本文将总结一些常见的MySQL面试题: 01.数据库字段类型 MySQL常见的数据类型有哪些? MySQL数据类型分为数值类型.日期时间型和字符串类型.数值类型常见的是TINYINT.INT.DECI ...

  2. 程序员必知的mysql插件_程序员必知的技术官网系列--mysql篇

    mysql 官网 https://www.mysql.com/ 官网布局很简单, 其中常用的两块就是下载和文档这两块, 其中下载没什么可讲的, 本次重点依旧是文档. 首页 mysql 文档导航页 ht ...

  3. 程序员必背的es6面试题

    3.8 说⼀下 for in 与 for of 的区别?(80%) - For in 可以遍历对象 ⽽ for of 遍历对象会报错 - for in 遍历数组得到的数组的下表 ⽽ for of 遍历 ...

  4. php高中级程序员面试题,PHP 程序员面试笔试常考面试题精讲

    最近假期的原因,决定在chat开了这门课,希望对你有帮助. 主要总结汇总了 PHP 面试过程中最爱问的几道面试题.这些面试题可以很好的帮助面试者准备,并让你在面试过程中很好的回答这些面试题,轻松拿下 ...

  5. 程序员面试题 php_程序员面试必备PHP基础面试题 – 第十五天

    一.写出面相对象的三大特性以及定义? 封装 继承 多态 封装:对象以外的部分不能随意存取对象内部数据 继承:通过子类继承父类进行功能扩展 多态:对具有继承关系的不同类对象,可以对相同名称的成员函数调用 ...

  6. 2019年大厂面试题合集:Java架构师技术栈为什么竞争越来越激烈?程序员必看!

    2019年大厂面试题合集:Java架构师技术栈为什么竞争越来越激烈?程序员必看! 就今年大环境来看,跳槽成功的难度比往年高很多,一个明显的感受:今年的Java技术栈面试,无论一面还是二面,都特别考验J ...

  7. 程序员必知的操作系统知识点

    这是一本关于程序员必知的操作系统,可以看一下目录. 内容涉及 认识操作系统 进程和线程 内存管理 文件管理 I/O 死锁 操作系统面试题 操作系统核心概念 字是一个一个敲的,图是一笔一笔画的. 可以看 ...

  8. 程序员必读书单1.0

    原文:http://lucida.me/blog/developer-reading-list/ 本文把程序员所需掌握的关键知识总结为三大类19个关键概念,然后给出了掌握每个关键概念所需的入门书籍,必 ...

  9. 外包3年,吃透这三份Java程序员必刷的算法宝典后,已从13K涨到25K

    懂点算法,很有必要 "不学数据结构和算法,一辈子都是码畜".不管你是 Java 程序员.算法工程师.数据分析师,还是技术管理者.架构师...... 我们都有一个共同的目标,就是在技 ...

最新文章

  1. 选好的两组台式机配置
  2. 蓝桥杯2015初赛-三羊献瑞-枚举
  3. Jeecg-boot 2.4.6+ 多租户改造方案(涉及菜单部门角色等基础模块)
  4. 现代 CMake 简明教程(一)- CMake 基础
  5. linux php7 替换,linux-shell-命令替换和变量替换
  6. 今年7月,一起来看谷歌如何测试移动应用!
  7. 网站获取ip代码怎么写_大学生写论文必备技能:怎么免费获取外文文献并下载...
  8. .html() 与.text() 获取值、取值 区别
  9. TypeIt4Me for Mac(快捷输入自定义工具)
  10. 如何在Angular中引入AliPlayer
  11. 25、ExtJs操作用友华表Cell插件(No.1)认识Cell
  12. 计算机视觉教程2-3:图解双线性插值算法最近邻插值算法
  13. 矩阵谱分解的求解流程
  14. html新建文件夹,javascript实现新建文件夹的功能
  15. 蓝牙协议层 GATT ,GAP,ATT 之间的关系
  16. TMS320C6748_ECAP_APWM
  17. python:文献引文网络构建——基于web of science
  18. 利用函数求三个数的最大值
  19. VMware的下载和安装(最详细)
  20. 最好的 8 个免费和开源网络映​​射软件

热门文章

  1. JAVA HASHMAP 用法
  2. JSP request response session
  3. python-kafka 常用 api 汇总
  4. 【机器学习】逻辑斯蒂回归原理
  5. 关于android开发时,发生Error infalting classa com.baidu.mapapi.map.MapView的解决办法
  6. php 扩展 返回字符串,基于PHP7的PHP扩展开发之四(字符串的处理)
  7. css摇曳的_HTML5+CSS3实现树被风吹动摇晃
  8. Linux高性能服务器编程:进程池和线程池原理及应用(有图有代码有真相!!!)
  9. JSP九大内置对象(转载)
  10. 判断字符串是否为空--string.Empty、string=、s.length==0