php面试题2018mysql_PHP程序员必会的MySQL面试题

d8e1d2d5d782f0a582131078578be9ee.png

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就会发现表中还有未修改的行。(一般加间隙锁)

e1c5b9bf7e53fd357d710aa09067459c.png

949e1492b0b38913cb567403eda56ad6.png

661c12a9e9a68fdd16264d35f00bd738.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/470027.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html5移动端制作知识点总结

一、测试工具:1.Chrome 2.Opera Mobile二、分辨率:一般现代手机最小320px,最大640px。三、全屏流体设计: 1.腾讯新闻:http://xw.qq.com/ 2.途牛旅游:http://m.tuniu.com/ 固屏类流体设计 1.京东商城&#x…

python counter模块_python collections模块 计数器(counter)

一、计数器(counter)Counter是对字典类型的补充,用于追踪值的出现次数。ps:具备字典的所有功能 自己的功能把我写入的元素出现的多少次都计算出来import collections# 创建一个Counter对象obj collections.Counter(ddccbbqqaaa)print(obj)把我写入的元…

C#-类-string/Manth/Random/DateTime-及练习

类一、string类:.Length 字符串的长度 .Trim() 去掉开头以及结尾的空格.TrimStart() 去掉开头的空格.TrimEnd() 去掉结尾的空格 .ToLower() 全部转换为小写.ToUpper() 全部转换为大写 .Substring(m,n) 从m位开始截取n长度的字符串.Substring(m) 从m位开始截取至字符…

【开发软件】推荐一款MAC OS X 下php集成开发环境mamp

这里给大家推荐一款在mac上搭建WEB服务器环境的集成环境安装软件,非常的好用,需要的朋友可以拿去,不用谢 ^_^之前苦于mac上搭建本地服务器之艰辛,找寻好久都没找到一款类似windows上集成的本地服务器环境,诸如phpstudy…

java操作日志记录_通用日志记录(java)

/*** 统一日志处理Handler*authorMingchenchen**/public classLogAopHandler {AutowiredprivateAuditLogDao auditLogDao;/*** controller层面记录操作日志* 注意此处是aop:around的 因为需要得到请求前的参数以及请求后接口返回的结果*throwsThrowable*/public Object doSaveL…

python数据类型-----字典

今天来总结下python3.4版本字典的一些操作方法。 字典是Python里面一种无序存储结构,存储的是键值对 key - value。关键字应该为不可变类型,如字符串、整数、包含不可变对象的元组。字典的创建很简单,用 d {key1 : value2, key2 : value2}的…

getmodifiers java_java – getModifiers()方法如何计算多个修饰符的值?

TL; DR:它将它们组合在一起形成bit field.要理解这一点,你需要了解二进制如何工作,这类似于十进制 – 让我们从那里开始:1 - public10 - static100 - final那么,101意味着什么?它必须是公共最终的,因为除了单个100和单个1之外,十进制系统中没…

克劳塞维茨与战争论

1. 基本战略 战争是政治的延续; 战争是死亡的盛筵;战争的目的就是消灭敌人;战略包括精神、物质、数学、地理、统计五大要素。战略战术的基本原则。克劳塞维茨认为,数量上的优势在战略战术上都是最普遍的制胜因素。虽然在实际作战时…

促销 java_原始促销 [Java]

JLS在这里不会“提升到更大的数据类型”,因为它不会为转移运算符执行二进制数字提升.这由JLS, Section 15.19涵盖.Unary numeric promotion (5.6.1) is performed on each operand separately. (Binary numeric promotion (5.6.2) is not performed on the operands.)一元数字促…

js基础一

## js三种引入方式&#xff08;内嵌&#xff08;用得少&#xff09;、内联、外联&#xff09;1、内联&#xff1a;&#xff08;写在head标签里&#xff09;<script type"text/javascript"> console.log("hello world");</script>2、外联&#…

java 2分钟_java开发中的那些事(5)--------一点经历,败给2分钟的2个小时

特意记下这个经历&#xff0c;这个让我感慨万千又斗志昂扬的一次经历&#xff0c;这是经验&#xff0c;也是生活。故事的始末是这种&#xff0c;先给大家上几句代码&#xff0c;如今身在家中&#xff0c;仅仅能凭记忆敲打几行&#xff0c;大致意思倒不会错&#xff1a;{field:c…

用户登录和注册的功能

<form action"logincheck.php" method"post"> 用户名&#xff1a;<input type"text" name"username" /> <br /> 密码&#xff1a;<input type"password" name"password" /&g…

java cygwin 乱码_windows10乱码怎么解决

如 图组360没有乱码 但字体明显不对字体不正常更明显了第三方浏览器要么乱码 要么根本打不开安装java时也是乱码 要不是我安装过 我根本不知道按钮在哪里eclipse也逃脱不了显示错误的命运(ps:第一行代码 或是说注释)酷狗音乐就更惨了这是cmd命令执行 dir /?时得到的帮助信息 我…

【题目描述】 商店里出售n种花&#xff0c;现打算购买m支花&#xff0c;每种花最多购买1支&#xff0c;询问有多少种购买方案&#xff0c;输出方案数 mod p的值。 【输入描述】 输入三个整数n、m、p。 【输出描述】 输出一个整数&#xff0c;表示答案。 【输入样例】 4 2 5 【输…

java employee list_JSP中List中的$ {employee.id}抛出java.lang.NumberFormat

我有一个JSP页面&#xff0c;当List从下面的方法中显示时&#xff0c;它可以正常工作。RequestMapping(value { "getAllEmployees", "/" })public ModelAndView getAllEmployees() {// logger.info("Getting the all Employees.");List employe…

H5入门-xhtml+css2-第01节

<!-- 声明版本号&#xff0c;DOCTYPE html是html5版本 --><!DOCTYPE html><!-- 声明网页语言 en-英文 zh-中文 zh-cn中文 --><html lang"en"><!-- head 网页头部信息 --><head><!-- 声明网页的编码格式 --><meta chars…

java怎么打增量包_eclipse实现JavaWeb应用增量打包

很多情况下&#xff0c;项目是不允许全量发布的&#xff0c;所以你得把有做修改的文件一个个挑出来&#xff0c;如果有成千上百的文件&#xff0c;你是不是要头大了? 以下方法应该可以让你得到解救!前提是你是用装有svn plugin的eclipse上做开发。第一步&#xff0c;用svn生成…

eclipse调整字体大小

window->preferences->general->appearance->colors and fonts-> 双击Text Font 就调整字体大小了转载于:https://www.cnblogs.com/H-K-Home/p/5973747.html

java 定时器框架_java定时器

java定时器什么是Java定时器&#xff1f;Java 定时器就是在给定的间隔时间执行自己的任务; Java实现定时器有以下几种:通过Timer来实现定时任务Timer 是来自 java.util.Timer指定时间执行任务/*** author spp* date 2020-10-14 09:04**/public class TimerTest {public static …

Flume之核心架构深入解析

我们一起来了解Source、Channel和Sink的全链路过程。 一、Flume架构分析 这个图中核心的组件是&#xff1a; Source&#xff0c;ChannelProcessor&#xff0c;Channel&#xff0c;Sink。他们的关系结构如下&#xff1a; Source {ChannelProcessor {Channel ch1Channel ch2……