1. 说说MySQL数据库中MyISAM类型表的特点?
    答:
    一个MYISAM类型的表中有三个文件,分别是索引文件、表结构文件、数据文件
    MYISAM类型的表,不支持事务,但是每次查询都是原子操作
    支持表级锁,每次操作都是对整个表加锁
    会存储表的总行数
    采用的是非聚集索引,索引文件的数据域存储指向数据文件的指针。辅索引与主索引基本一致,但是辅索引不用保证唯一性。
  2. 说说MySQL数据库中InnoDb类型表的特点?
    答:一个InnoDb引擎存储在一个文件空间(共享表空间,表大小不受操作系统控制,一个表可能分布在多个文件里),也有可能为多个(设置为独立表空间,表大小受操作系统文件大小限制,一般为 2G),受操作系统文件大小的限制
    支持ACID的事务,支持事务的四种隔离级别
    支持行级锁及外键约束,因此可以支持写并发
    不存储总行数
    主键索引采用聚集索引(索引的数据域存储数据文件本身),辅索引的数据域存
    储主键的值。因此从辅索引查找数据,需要先通过辅索引找到主键值,再访问主键索引(回表)。最好使用自增主键,防止插入数据时,为维持B+树结构,文件做大的调整
  3. 说说MySQL中InnoDB支持的四种事务隔离级别?
    答:
    read uncommited :读到未提交数据
    read committed:读已提交数据
    repeatable read:可重读
    serializable :串行事务
  4. myisamchk是用来做什么的?
    答:用来压缩 MyISAM 表,减少了磁盘或内存的使用。
  5. MyISAM Static 和 MyISAM Dynamic 有什么区别?
    答:在 MyISAM Static 上的所有字段有固定宽度。MyISAM Dynamic就是有像 TEXT,BLOB这样的字段,用来适应不同长度的数据类型,简单说就是会变,就是动态的。所以MyISAM Static在受损情况下更容易恢复。
  6. 如果一个表有一列定义为TIMESTAMP,将发生什么?
    答:每当行被更改时的时候,时间戳字段将获取当前时间戳。
  7. 列设置为AUTO INCREMENT时,如果在表中达到最大值,会发生什么情况?
    答:它会停止递增,任何进一步的插入都将产生错误,因为密钥已经被使用了。
  8. 怎样才能找出最后一次插入时分配了哪个自动增量?
    答:LAST_INSERT_ID 将返回由Auto_increment分配的最后一个值,并且不需要指
    定表名称。
  9. 怎么看到为表格定义的所有索引?
    答: SHOW INDEX FROM +< tablename >。
  10. 说说NOW()和CURRENT_DATE()有什么区别?
    答:NOW()命令可以显示当前年份,月份,日期,小时,分钟和秒,而CURRENT_DATE()只会h显示当前年份,月份和日期。