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:

CONCAT (string1, string2, string3)

12. 在MySQL中获取当前时间

如下查询:

SELECT CURRENT_DATE()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值