25个Mysql基础面试题:精湛知识进阶必看!(mysql基础面试题)
MySQL是一种关系型数据库管理系统,是用来管理数据的一种服务器。MySQL的面试题可以分为基础知识、精深知识和实用技巧三个方面,下面详细介绍25个基础MySQL面试题,供精湛知识进阶必看:
1. MySql的存储方式有哪些?
MySQL的存储引擎可分为三大类:支持事务的存储引擎(如InnoDB)、支持分区表的存储引擎(如MyISAM)和支持内存表的存储引擎(如Memory)。
2.MySQL中唯一标识(primary key)和唯一索引(unique key)有哪些不同?
MySQL中的唯一标识(Primary key)与唯一索引(Unique key)是类似但不同的概念,唯一标识是唯一标识列,列中的值不能重复,而唯一索引是一组列,该组中的值也不能重复。
3.MySQL在索引上有几种类型?
MySQL支持三种索引类型:普通索引(normal index)、唯一索引(unique index)和全文索引(full-text index)。
4.MySQL优化技巧有哪些?
MySQL的优化技巧主要有以下几种:应该尽可能的避免使用查询中的函数;尽可能的利用MySQL的自动性能调优机制;尽可能的利用MySQL自带的EXPLAIN诊断语句分析sql性能;尽可能的使用特殊字符串处理函数;尽可能的使用UTF-8作为数据库字符集。
5. 为什么MySQL要用等号取代like?
MySQL里使用等号取代like作为模糊检索条件的原因,一般可以为两个方面:1)等号的检索速度一般要快于Like;2)等号的查询结果要比Like更加准确。
6. MySQL有哪3个日志文件?
MySQL包含有3种日志文件:Error Log文件(记录MySQL运行期间发生的异常)、General Log文件(记录MySQL中执行SQL语句的详细信息)、Slow Log文件(记录MySQL在执行SQL语句时间较长的语句)。
7. 什么是SQL注入?
SQL注入(SQL Injection)是指攻击者通过把SQL命令插入到web表单中,欺骗服务器执行恶意的SQL命令,使服务器提供给攻击者机密的或者其它用户的信息的攻击行为。
8. 什么是外键?
外键(Foreign Keys)是用于引用其他表中的行,它是将两个表之间形成链接,外键的值必须存在于被引用的表的一列或是一组列中。
9. MySQL的数据类型有哪些?
MySQL的数据类型可以分为4类:
(1)字符串类型(varchar,char,text,tinytext,enum,set,blob,tinyblob,mediumblob,longblob)
(2)日期和时间类型(date,time,year,timestamp,datetime)
(3)数字类型(int,float,decimal)
(4)其他类型(JSON,Bit,Bool)
10. MySql如何更新表结构?
MySQL可通过ALTER TABLE语句来更新表结构,语法格式为:ALTER TABLE table_name ADD|MODIFY|DROP column_name column_definition;其中ADD用于添加字段,MODIFY用于修改字段,DROP用于删除字段。
11.MySql应该如何维护?
MySQL的常见维护有以下几种:数据库备份(要注意不能频繁地进行备份);索引优化(可以使用VACUUM命令来优化索引);