2021最新数据库面试30题!(MySQL、Redis、MongoDB)春招offer不在话下!

本文列举了针对MySQL、Redis和MongoDB的30道面试题,涵盖事务隔离级别、存储引擎、数据类型、索引、备份等关键知识点,旨在帮助程序员准备春招面试,确保顺利获得Offer。
摘要由CSDN通过智能技术生成

1. 请简洁描述 MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?

SQL 标准定义的四个隔离级别为:
read uncommited :读到未提交数据
read committed:脏读,不可重复读
repeatable read:可重读
serializable :串行事物

2. 在 MySQL 中 ENUM 的用法是什么?

ENUM 是一个字符串对象,用于指定一组预定义的值,并可在创建表时使用。
SQL 语法如下:
Create table size(name ENUM('Smail,‘Medium’,‘Large’);

3. CHAR 和 VARCHAR 的区别?

CHAR 和 VARCHAR 类型在存储和检索方面有所不同。
CHAR 列长度固定为创建表时声明的长度,长度值范围是 1 到 255。 当 CHAR 值被存储时,它们被用空格填充到特定长度,检索 CHAR 值时需删除尾随
空格。

4. 列的字符串类型可以是什么?

字符串类型是:
SET
BLOB
ENUM
CHAR
TEXT
VARCHAR

5. MySQL 中使用什么存储引擎?

存储引擎称为表类型,数据使用各种技术存储在文件中。
技术涉及:
Storage mechanism
Locking levels
Indexing
Capabilities and functions.

6. TIMESTAMP 在 UPDATE CURRENT_TIMESTAMP 数据类型上做什么?

创建表时 TIMESTAMP 列用 Zero 更新。只要表中的其他字段发生更改,UPDATE
CURRENT_TIMESTAMP 修饰符就将时间戳字段更新为当前时间。

7. 主键和候选键有什么区别?

表格的每一行都由主键唯一标识, 一个表只有一个主键。
主键也是候选键。按照惯例,候选键可以被指定为主键,并且可以用于任何外键引
用。

8. 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;

9. LIKE 和 REGEXP 操作有什么区别?

LIKE 和 REGEXP 运算符用于表示 ^ 和%。
SELECT * FROM WHERE * REGEXP “^b”;
SELECT * FROM WHERE * LIKE “%b”;

10. BLOB 和 TEXT 有什么区别?

BLOB

BLOB 是一个二进制对象,可以容纳可变数量的数据。有四种类型的 BLOB

TINYBLOB
BLOB
MEDIUMBLOB 和
LONGBLOB
它们只能在所能容纳价值的最大长度上有所不同。

TEXT

TEXT 是一个不区分大小写的 BLOB。四种 TEXT 类型

TINYTEXT
TEXT
MEDIUMTEXT 和
LONGTEXT
它们对应于四种 BLOB 类型,并具有相同的最大长度和存储要求。
BLOB 和 TEXT 类型之间的唯一区别在于对 BLOB 值进行排序和比较时区分大小
写,对 TEXT 值不区分大小写。

11. 数据库的三范式?

第一范式:数据库表的每一个字段都是不可分割的。
第二范式:数据库表中的非主属性只依赖于主键。
第三范式:不存在非主属性对关键字的传递函数依赖关系。

12. MySQL 表中允许有多少个 TRIGGERS?

在 MySQL 表中允许有六个触发器,如下:
BEFORE INSERT
AFTER INSERT
BEFORE UPDATE
AFTER UPDATE
BEFORE DELETE and
AFTER DELETE

13. 什么是通用 SQL 函数?

数学函数

Abs(num)求绝对值
floor(num)向下取整
ceil(num)向上取整

字符串函数

insert (s1,index,length,s2) 替换函数
o S1 表示被替换的字符串
o s2 表示将要替换的字符串
o Index 表示被替换的位置, 从 1 开始
o Lebgth 表示被替换的长度
upper(str),ucase(str)将字母改为大写
lower(str),lcase(str)将字母改为小写
left(str,length)返回 str 字符串的前 length 个字符
right(str,length)返回 str 字符串的后 length 个字符
substring(str,index,length)返回 str 字符串从 index 位开始长度为
length 个字符(index 从 1 开始)
reverse(str)将 str 字符串倒序输出

日期函数

curdate()、current_date( ) 获取当前日期
curtime()、current_time( ) 获取当前日期
now()获取当前日期和时间
datediff(d1、d2)d1 和 d2 之间的天数差
adddate(date,numÿ

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值