云网牛站
所在位置:首页 > Linux云数据库 > MySQL面试问题与解答

MySQL面试问题与解答

2017-10-19 21:40:42作者:Linux编辑稿源:topspeedsnail

1.MySQL中表的触发器有几中

表允许6个触发器:

BEFORE INSERT

AFTER INSERT

BEFORE UPDATE

AFTER UPDATE

BEFORE DELETE

AFTER DELETE

 

2.FlOAT和DOUBLE的区别

FLOAT的精度是4字节,DOUBLE的精度是8字节

 

3.说一下你所理解的内存表(Heap tables)

内存表是存在内存中,它用来做临时高速存储。它的主要特点是:

不允许BLOB和TEXT字段

只有比较操作符像 =, <,>, = >,=< 可以用

内存表不支持 AUTO_INCREMENT

索引不为NULL

 

4.怎么限制内存表(Heap tables)的大小

使用mysql配置变量max_heap_table_size。

 

5.MySQL相对Oracle有什么优势

MySQL是开源软件,0成本

轻便

支持GUI管理数据库

 

6.myisamchk是干什么的

他可以压缩MyISAM表大小,减少硬盘和内存使用

 

7.相互转换Unix 和 MySQL时间戳

MySQL转Unix,使用命令 UNIX_TIMESTAMP

Unix转MySQL,使用命令 FROM_UNIXTIME

 

8.什么是BLOB

BLOB是大二进制文件类型,可以保持大数据

根据保持数据长度的不同,分为4种:

TINYBLOB

BLOB

MEDIUMBLOB

LONGBLOB

 

9.MyISAM表在硬盘是怎么组织的

.frm 文件:保存表的定义

.MYD:数据文件

.MYI:索引文件

 

10.解释MyISAM相对于InnoDB的优势是什么

MyISAM支持更好的硬盘空间管理-把表存储在分离的文件中,可以在需要时压缩存储。

InnoDB存储在表空间中,不利于进一步优化。

 

11.MySQL连接字符串

使用CONCAT:

CONCAT (string1, string2, string3)

 

12.在MySQL中获取当前时间

如下查询:

SELECT CURRENT_DATE();

精选文章
热门文章