百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

掌握了这35道MySQL技术问题,面试还有何惧?

mhr18 2024-12-23 11:10 17 浏览 0 评论

1 MySQL 简介

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一。


2 MySQL的50道常见面试题总结

2.1 Mysql中的锁有哪些?

Mysql存储引擎MyISAM支持表锁,Mysql存储引擎InnoDB支持表锁和行锁(默认为行锁)

表锁和行锁优缺点:

表锁:开销小,加锁快,不会出现死锁。锁定粒度大,发生锁冲突的概率最高,并发量最低。

行锁:开销大,加锁慢,会出现死锁。锁力度小,发生锁冲突的概率小,并发度最高。

2.2 怎么操作容易损坏MYSQL数据表?

突然断电导致服务器关机
没先停用mysql 服务,二十强制关机服务器。

以上这种类似情况,都会而导致数据库数据文件损坏。

2.3 用MYSQL记录钱的字段,用什么类型最好?

如果字段和钱有关的用NUMERIC和DECIMAL类型最好。NUMERIC和DECIMAL被用于保存值,该值的准确精度是极其重要的值。

因为DECIMAL和NUMERIC的值是作为字符串存储,因此才能保存更精准的小数。

2.4 MYSQL支持事务吗?有哪些事务支持?

缺省情况下,mysql是不支持事务的。此时是autocommit模式,所有更新操作都是即时提交。
如果MYSQL用的InnoDB Tables 或 BDB tables,则可用事务处理;当然如果设置 SET AUTOCOMMIT=0 也就不使用事务操作了。

2.5 MYSQL的访问控制列表是什么意思?

ACL(访问控制列表)是与对象关联的权限列表。这个列表是Mysql服务器安全模型的基础,它有助于排除用户无法连接的问题。

2.6 通用SQL函数是什么?

CONCAT(A, B)
连接两个字符串值以创建单个字符串输出。通常用于将两个或多个字段合并为一个字段。

DATEDIFF(A,B)
确定两个日期之间的差异,通常用于计算年龄。

SUBTIMES(A,B)
确定两者之间的差异。

FROMDAYS(INT)
将整数天数转换为日期值。

FORMAT(X, D)
格式化数字X到D有效数字。

NOW()
将当前日期和时间作为一个值返回。

MONTH(),DAY(),YEAR(),WEEK(),WEEKDAY()
从日期值中提取给定数据。

CURRDATE(), CURRTIME()
返回当前日期或时间。


HOUR(),MINUTE(),SECOND()
从时间值中提取给定数据。

2.7 MYSQL非标准字符串有哪些?

TINYTEXT
TEXT
MEDIUMTEXT
LONGTEXT

2.8 Mysql表最多允许多少个触发器?

BEFORE INSERT
AFTER INSERT
BEFORE UPDATE
AFTER UPDATE
BEFORE DELETE
AFTER DELETE

2.9 Mysql中CREATE语句可以创建哪些对象?

DATABASE
EVENT
FUNCTION
INDEX
PROCEDURE
TABLE
TRIGGER
USER
VIEW

2.9 Mysql中NOW()和CURRENT_DATE()区别是啥?

NOW()函数用来取当前时间(包含年、月、日、时、分、秒)。

CURRENT_DATE()只取当前年、月、日。

2.10 Mysql中一张表最多创建多少个索引?

表最多只能创建16个索引。

2.11 Mysql中取前50行数据?

SELECT*FROM tableLIMIT 0,50;

2.12 Mysql中如何输入字符为十六进制数字

MYSQL中输入带有单引号的十六进制数字和前缀(X),或者只用(Ox)前缀输入十六进制数字。

2.13 怎么优化Mysql中的DISTINCT?

DISTINCT在所有列上转换为GROUP BY,并与ORDER BY子句结合使用。

SELECT DISTINCT t1.a FROM t1,t2 where t1.a=t2.a;

2.14 Mysql中ISAM是什么?

ISAM简称为索引顺序访问方法。

2.15 Mysql中有哪些存储引擎?

MyISAM
Heap
Merge
INNODB
ISAM

MyISAM是Mysql的默认存储引擎。

2.16 MYSQL中加入现在有一张表,ID为自增主键,当insert了20条数据之后,删除了第18、19、20条数据。然后Mysql重启,再insert一条数据,这条数据的ID是21还是18 ?

(1)如果是MylSAM引擎,此时ID为21
因为MyISAM表会把自增主键的最大ID记录到数据文件里,重启MySQL自增主键的最大ID也不会丢失。
(2)如果表的类型是InnoDB,那么是18.
InnoDB表只是把自增主键的最大ID记录到内存中,所以重启数据库或者是对表进行OPTIMIZE操作,都程序之心会导致最大ID丢失.

2.17 Mysql的优势有哪些?

Mysql是开源、免费的。
Mysql是便携式的。
使用Mysql查询浏览器支持管理。

2.18 Mysql中FLOAT和DOUBLE怎么区分他们?

浮点数以8位精度存储在FLOAT中,并且有四个字节。
浮点数存储在DOUBLE中,精度为18位,有八个字节。

2.19 Mysql中CHAR_LENGTH和LENGTH怎么区分他们?

CHAR_LENGTH是字符数,而LENGTH是字节数。
Latin字符的这两个数据是相同的,但是对于Unicode和其他编码,它们是不同的。

2.20 Mysql中InnoDB支持的四种事务隔离级别及区别?

四个隔离级别为:

read uncommited :读到未提交数据
read committed:脏读,不可重复读
repeatable read:可重读
serializable :串行事物

四种事务隔离级别区别:

2.21 Mysql中枚举的用法是?

ENUM是一个字符串对象,用于指定一组预定义的值,并可在创建表时使用。

Create table size(name ENUM('Smail,'Medium','Large');

2.22 Mysql中CHAR和VARCHAR的区别?

CHAR和VARCHAR类型在存储和检索方面有所不同
CHAR列长度固定为创建表时声明的长度,长度值范围是1到255

当存储CHAR值时,长度不够时用空格填充,查询时删除填充空格。

2.23 Mysql中列的字符串类型可以有哪些?

SET
BLOB
ENUM
CHAR
TEXT
VARCHAR

2.24 Mysql中使用什么存储引擎?

存储引擎称为表类型,数据使用各种技术存储在文件中。

技术存储包含:

Storage mechanism
Locking levels
Indexing
Capabilities and functions.

2.25 Mysql中驱动程序有哪些?

PHP驱动程序
JDBC驱动程序
ODBC驱动程序
CWRAPPER
PYTHON驱动程序
PERL驱动程序
RUBY驱动程序
CAP11PHP驱动程序
Ado.net5.mxj

2.26 Mysql中MyISAM表格是存储在哪里的?有哪些存储格式?

MyISAM表格存储在磁盘上。

存储格式为:

·“.frm”文件存储表定义
·数据文件具有“.MYD”(MYData)扩展名
索引文件具有“.MYI”(MYIndex)扩展名

2.27 Mysql中如何运行批量处理模式?

mysql;
mysql mysql.out

2.27 Mysql中mysql_fetch_array和mysql_fetch_object的区别是什么?

mysql_fetch_array()
将结果行作为关联数组或来自数据库的常规数组返回。

mysql_fetch_object
从数据库返回结果行作为对象。

2.28 Mysql中BLOB和TEXT有什么区别?

BLOB是一个二进制对象,可以容纳可变数量的数据。
有四种类型的BLOB:
  TINYBLOB
  BLOB
  MEDIUMBLOB和
  LONGBLOB
TEXT不区分大小写的。
四种TEXT类型:
  TINYTEXT
  TEXT
  MEDIUMTEXT和
  LONGTEXT
它们对应于四种BLOB类型,并具有相同的最大长度和存储要求。

BLOB和TEXT区别主要就是大小写区分。

2.29 Mysql中LIKE和REGEXP操作有什么区别?

LIKE和REGEXP运算符用于表示^和%。

使用示例:


SELECT * FROM employee WHERE emp_name REGEXP "^b";
SELECT * FROM employee WHERE emp_name LIKE "%b";

2.30 Mysql中查询是否区分大小写?

不区分。

2.31 Mysql中查询受查询影响的行数?

SELECT COUNT(user_id)FROM users;

2.32 Mysql中LIKE声明中的%和_是什么意思?

%对应于0个或更多字符,_只是LIKE语句中的一个字符。

2.33 Mysql中表有一列定义为TIMESTAMP,将发生什么?

每当行被更改时,时间戳字段将获取当前时间戳。

2.34 Mysql中服务器性能分析的方法命令有哪些?

Show status
一些值的监控的变量值:

Bytesreceived和Bytessent
和服务器之间来往的流量。

Com*服务器正在执行的命令

Created*在查询执行期限间创建的临时表和文件。

Handler*存储引警操作。

Select不同类型的联接执行计划。

Sort*几种排序信息。

·Show session status like 'Select;

·Show profiles

SET profiling=1

Show profiles)G

Show profile;

2.35 怎样才能找出最后一次插入时分配了哪个自动增量?

LAST_INSERT_ID将返回由Auto_increment分配的最后一个值,并且不需要指定表名称。

相关推荐

Java面试题合集200道!

1.Java中操作字符串都有哪些类?它们之间有什么区别?String、StringBuffer、StringBuilder.String和StringBufer、StringBuilder的区别...

JAVA分布式锁的原理,及多种分布式实现优劣对比分析

引题比如在同一个节点上,两个线程并发的操作A的账户,都是取钱,如果不加锁,A的账户可能会出现负数,正确的方式是对账户acount进行加锁,即使用synchronized关键字,对其进行加锁后,当有线程...

百度Linux C++后台开发面试题(个人整理)

1、C/C++程序的内存分区其实C和C++的内存分区还是有一定区别的,但此处不作区分:1)、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中...

什么是云计算?看这篇就够了(建议收藏)

一、什么是云?云,又称云端,指无数的大型机房或者大型数据中心。二、为什么需要云?1)从用户的角度来讲:传统应用的需求日益复杂,比如需要支持更多的用户,需要更强的计算能力等,为满足这些日益增长的需求,企...

写PHP框架需要具备那些知识?

如果没用过框架,讨论各个框架的内容都没有可讨论性,想自己写个框架涉及到的内容很多,个人觉得自己写一个框架对自己的逻辑思维,开发架构以及这门语言都有质的提升。可以参照其他框架的源代码,仅仅是看他们的思路...

不允许还有Java程序员不了解BlockingQueue阻塞队列的实现原理

我们平时开发中好像很少使用到BlockingQueue(阻塞队列),比如我们想要存储一组数据的时候会使用ArrayList,想要存储键值对数据会使用HashMap,在什么场景下需要用到Blocking...

Java性能优化指南—缓存那些事

由于笔者自身水平有限,如果有不对或者任何建议欢迎批评和指正本文预计阅读时间10分钟,分为前言、填坑两部分,主要包含缓存的基本使用到高级应用场景的介绍一、前言在处理高并发请求时,缓存几乎是无往不利的利器...

卓象科技:Nosql的介绍以及和关系型数据库的区别

Nosql介绍NoSQL(NotOnlySQL),泛指非关系型数据库。Nosql的全称是NotOnlySql,这个概念很早就有人提出,在09年的时候比较火。Nosql指的是非关系型数...

腾讯一面凉经(一面竟然就问了2小时,什么情况?)

这次一面感觉是在打心理战,哥们自己的心里防线基本是被击溃,面到怀疑人生的程度,所以过程感觉不是太好,很多题哥们自己也感觉没答好,要么答得“缺胳膊少腿”,要么就是“画蛇添足”。先是聊项目,从项目的架构设...

我凭借这份pdf,最终拿到了阿里,腾讯,京东等八家大厂offer

怎样才能拿到大厂的offer,没有掌握绝对的技术,那么就要不断的学习我是如何笑对金九银十,拿到阿里,腾讯等八家大厂的offer的呢,今天分享我的秘密武器,美团大神整理的Java核心知识点,面试时面试官...

高并发 异步解耦利器:RocketMQ究竟强在哪里?

本文带大家从以下几个方面详细了解RocketMQ:RocketMQ如何保证消息存储的可靠性?RocketMQ如何保证消息队列服务的高可用?如何构建一个高可用的RocketMQ双主双从最小集群?Rock...

阿里最新Java架构师成长笔记开源

下面先给大家上一个总的目录大纲,基础的东西就不进行过多的赘述,我们将会从JVM说起,同时由于每篇的内容过多,我们也只说重点,太过基础的内容谁都会,我就不多敲字浪费大家的时间了!JVM多线程与高并发Sp...

程序员失业2个月找不到工作,狂刷了5遍这份pdf终获字节跳动offer

写在前面1月初失业,找了近2个多月的工作了,还没找到心仪的工作,感觉心好慌,不知道该怎么办了?找不到工作的时候压力很大,有人说自信会很受打击,还有人说会很绝望,是人生的低谷……尽管很多时候我们自己知道...

Spring AI 模块架构与功能解析

SpringAI是Spring生态系统中的一个新兴模块,专注于简化人工智能和机器学习技术在Spring应用程序中的集成。本文将详细介绍SpringAI的核心组件、功能模块及其之间的关...

Nginx从入门到精通,超详细整理,含项目实战案例|运维必学

Nginx是免费的、开源的、高性能的HTTP和反向代理服务器、邮件代理服务器、以及TCP/UDP代理服务器。因为它的稳定性、丰富的模块库、灵活的配置和低系统资源的消耗而闻名。Nginx可以做静态HT...

取消回复欢迎 发表评论: