show variable like 'table_type'; 显示系统默认存储引擎 show engineG 显示系统支持存储殷勤 ==================================================== create table emp (id int,index(id)) engine=innodb default charset = utf8; 创建表时候设置默认的表存储引擎 alter table emp engine = myisam 将emp表存储引擎修改为myisam ==================================================== myisam:: 1.静态表存储查询速度快,但会忽略字符串后面的所有空格 2.动态表占用空间小,但速度较慢 innodb:: 1.engine = innodb 2.auto_increment 可以手动插入值,如果插入的值为null或0,那么就进行自动增长 3.alter table emp auto_increment = 100; 设置emp表的自增长从100开始 4.启动innodb 2)修改my.ini 将default-storage-engine=INNODB前的注释(#)去掉 将skip-innodb这行注释(加上#) 3)保存后重启mysql服务 5.支持外键(mysql支持外键的只有innodb) memory:: 1.内存存储,重启服务后数据丢失,但更新查询速度较快 2.max_heap_table_size 设置内存存储最大限制空间 merge:: 1.大数据进行分表时可采纳使用 2.1)实例 create table t1 (id int primary key auto_increment,name char(20),index(id)) engine=myisam default charset = utf8; 表1 create table t2 (id int primary key auto_increment,name char(20),index(id)) engine=myisam default charset = utf8; 表2 create table t_all (id int primary key auto_increment,name char(20),index(id)) engine=merge union=(t1,t2) insert_method=last; 联合表 1.对t1或t2表进行数据插入或更新时候,数据同步更新到联合表 2.联合表插入数据的时候,数据将插入到t2(事实上insert_method决定了插入到第一张还是最后一张表,但为什么不能指定表插入呢???) tokudb:: 1.待研究