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()