MySQL面试题与答案
MySQL面试题
面试题汇总
-
一张表,里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把Mysql重启,再insert一条记录,这条记录的ID是18还是15 ?
答: 18 -
Mysql的技术特点是什么?
答: 略 -
Heap表是什么?
答: 用于临时高速存储, 存在于内存中 -
Mysql服务器默认端口是什么?
答: 3306 -
与Oracle相比,Mysql有什么优势?
答: 主要是免费 -
如何区分FLOAT和DOUBLE?
答:
浮点数以8位精度存储在FLOAT中,并且有四个字节。
浮点数存储在DOUBLE中,精度为18位,有八个字节。 -
区分CHAR_LENGTH和LENGTH?
答: CHAR_LENGTH是字符数,而LENGTH是字节数。 -
请简洁描述Mysql中InnoDB支持的四种事务隔离级别名称,以及逐级之间的区别?
答:
read uncommited :读到未提交数据
read committed:脏读,不可重复读
repeatable read:可重读
serializable :串行事物 -
在Mysql中ENUM的用法是什么?
答: ENUM是一个字符串对象,用于指定一组预定义的值 -
如何定义REGEXP?
REGEXP是模式匹配,其中匹配模式在搜索值的任何位置。 -
CHAR和VARCHAR的区别?
CHAR是一种固定长度的类型,适合用在身份证号码、手机号码等定。,VARCHAR则是一种可变长度的类型。适合用在长度可变的属性。 text不设置长度, 当不知道属性的最大长度时,适合用text。 -
列的字符串类型可以是什么?
SET
BLOB
ENUM
CHAR
TEXT
VARCHAR -
如何获取当前的Mysql版本?
select version(); -
myisamchk是用来做什么的?
它用来压缩MyISAM表,这减少了磁盘或内存使用。 -
MYSQL数据库服务器性能分析的方法命令有哪些?
-
Mysql中有哪几种锁?
MyISAM支持表锁,InnoDB支持表锁和行锁,默认为行锁 -
MYSQL数据表在什么情况下容易损坏?
服务器突然断电导致数据文件损坏。
强制关机,没有先关闭mysql 服务等。 -
ACL
访问控制列表 -
Mysql表中允许有多少类型TRIGGERS?
BEFORE INSERT
AFTER INSERT
BEFORE UPDATE
AFTER UPDATE
BEFORE DELETE
AFTER DELETE -
可以使用多少列创建索引?
任何标准表最多可以创建16个索引列。 -
NOW()和CURRENT_DATE()有什么区别?
NOW()命令用于显示当前年份,月份,日期,小时,分钟和秒。
CURRENT_DATE()仅显示当前年份,月份和日期。 -
一些预期可能用到的sql语句
//如果表存在,则删除
DROP TABLE IF EXISTSabc
;
//复制整张表xyz为heap表abc(包含所有数据)
CREATE TABLEabc
type=heap select * fromxyz
;
//添加主键id
ALTER TABLE table_name ADD PRIMARY KEY ( column )
//添加唯一索引
ALTER TABLE table_name ADD UNIQUE ( column )
//添加普通索引
ALTER TABLE 表名 ADD INDEX 索引名( 字段名 )
//添加全文索引
ALTER TABLE table_name ADD FULLTEXT ( column)
//添加多列索引
ALTER TABLE table_name ADD INDEX index_name ( column1, column2, column3 )