MYSQL表存储引擎的修改。
一:查看
看你的mysql现在已提供什么存储引擎:
mysql> show engines;
看你的mysql当前默认的存储引擎:
mysql> show variables like '%storage_engine%';
你要看某个表用了什么引擎(在显示结果里参数engine后面的就表示该表当前用的存储引擎):
mysql> show create table 表名;
二:在建表的时候指定
复制代码代码如下:
create table mytbl(
id int primary key,
name varchar(50)
)type=MyISAM;
三:建表后的修改
1.真接修改。在数据多的时候比较慢,而且在修改时会影响读取性能。my_table是操作的表,innoDB是新的存储引擎。
复制代码代码如下:
ALTER TABLE my_table ENGINE=InnoDB
2.导出,导入。这个比较容易操作,直接把导出来的sql文件给改了,然后再导回去。友情提醒风险较大。
3.创建,插入。
a.创建表,先创建一个和要操作表一样的表,然后更改存储引擎为目标引擎。
代码如下:
CREATE TABLE my_tmp_table LIKE my_table;
ALTER TABLE my_tmp_table ENGINE=InnoDB;
b.插入。为了安全和速度,最好加上事务,并限制id(主键)范围。
代码如下:
INSERT INTO my_tmp_table SELECT * FROM my_table;
MYSQL更该数据库编码模式:
1.在建数据库的时候修改默认编码模式为utf8:
create database abcd DEFAULT CHARACTER SET utf8;
创建好表后可以通过如下代码查看结果:
show create database databasename;
//databasename为你创建数据库的名字
2.已经创建了的数据库和表,如果不想创建新的数据库,可以只修改表的属性
//查看表的列的属性
show full columns from tablename;
alter table tablename change columnsname columnsnamee varchar(255)
character set utf8 collate utf8_unicode_ci not null default '';