MySQL 面试问题与解答

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:

12.在MySQL中获取当前时间

如下查询:

 

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注