MySQL是一个开源的关系型数据库管理系统(RDMS:Relational Database Management System),使用行和列这样的表格存储结构化数据。使用结构化查询语言(SQL:Structured Query Language)进行访问、管理、操作数据库。MySQL最初起源于瑞士的AB公司,随后被Oracle公司收购,现在也是Oracle公司的产品。MySQL以高性能,高可靠性,使用简单著称,是目前最流行的数据库之一。
在此将给出50道MySQL面试题。题目涉及fresher、experienced、professional,对应的工作经验就1年、5年、10+年。
下面给出41-50题
41:MyISAM类型的表存储在哪?并且以什么样的形式进行存储?
所有MyISAM类型的表都存储在磁盘上。
MyISAM有3种存储文件:
- .frm:存储表定义;
- .MYD(MYData):存储表中数据;
- .MYI(MYIndex):存储索引数据;
42:在MySQL中如何存储图片数据?
在MySQL中,一般使用Blobs存储图片数据。图片数据想存储在blobs中,最终都会存储在磁盘上。
43:触发器是什么?在MySQL中,有几种类型的触发器?
触发器是数据库中一段程序化的代码。通过特定表的指定事件触发器为自动触发执行。
在MySQL表中有6个类型的触发器:
- BEFORE INSERT
- AFTER INSERT
- BEFORE UPDATE
- AFTER UPDATE
- BEFORE DELETE
- AFTER DELETE
44:MySQL中MyISAM static和MyISAM Dynamic的区别是什么?
- MyISAM中所有列(域)固定的表为MyISAM Static。
- MyISAM中有列(域)不固定的表为MyISAM Dynamic,如某字段是TEXT,BOLD,等。
- MyISAM Static在某些情况下(磁盘有损坏等)存储的稳定性比MyISAM Dynamic好些。
45:什么是ACL(Access Control List:访问控制列表)?
ACL(Access Control List)用于控制连续MySQL的对象。ACL存储在内存中,ACL也被称为权限表。当用户提交SQL命令时,会先判断用户是否有其权限,做这件事情。
46:标准化是什么?有几种标准化类型?
标准化(Normalization)用于避免重复和冗余。这是一个组织数据的过程。数据库中标准化常用的有3个范式,如下:
- First Normal Form(1NF):每列只能有唯一的一个值;(无重复的列)
- Second Normal Form(2NF):所有列都依赖主键;(解决部分函数依赖)
- Third Normal Form(3NF):所有列都只依赖主键;(解决传递函数依赖)
47:有几种方式创建索引?
有以下几种方式创建索引:
- 使用T-SQL语句创建索引;
- 使用带界面的管理工具,选中表,再右键创建索引;
- 使用CREATE TABLE和ALTER TABLE语句,创建PRIMARY KEY,UNIQUE这类的索引。
48:什么是聚蔟索引?什么是非聚蔟索引?
聚蔟索引:找到了索引就找到了需要的数据,那么这个索引就是聚簇索引。
非聚蔟索引:索引的存储和数据的存储是分离的,也就是说找到了索引但没找到数据,需要根据索引上的值(主键)再次回表查询,非聚簇索引也叫做辅助索引。
49:如何在查询中过滤出正确的邮箱?
查询时使用正则表达式进行过滤,如下语句:
SELECT
Email
FROM
Vehicle
where NOT REGEXP_LIKE(Email, ‘[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}’, ‘i’);
50:在MySQL中如何处理--secure-file-priv?
MySQL使用-secure-file-priv选项限制使用LOAD_DATA_INFILE命令加载目录。使用SHOW VARIABLES LIKE“secure_file_priv”命令查看已配置的目录。
有两种方式进行处理:
- 将文件传输到安全文件priv指定的目录。
- 关闭安全文件隐私。在MySQL启动时就删除,并且后期不能禁用。
原文地址:50道MySQL面试题(41-50)
🤖✨ 想获取更多有趣的IT知识吗?🤖✨
📱💡欢迎关注我们的微信公众号“IT先锋社”!📱💡
🔍🌟这里有最新的科技动态和实用技巧等你来探索!🔍🌟
🚀🎉快来一起加入我们的IT大家庭吧!🚀🎉