MYSQL表儲存引擎的修改及更該資料庫編碼模式

2021-09-24 13:57:54 字數 1467 閱讀 1990

一:檢視

看你的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;
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 '';

mysql修改表的儲存引擎

將表從乙個引擎改為另乙個引擎的方法 最簡單的方法 alter table test engine innodb 但是如果表資料量大,則需要執行很長時間。因為mysql會按行將資料從原表複製到新錶,在複製期間可能會消耗系統所有的io,同時原表上會加讀鎖,所以業務繁忙的表要小心該操作。一種解決方案是使用...

MySQL檢視和修改表的儲存引擎

1 檢視系統支援的儲存引擎 show engines 2 檢視表使用的儲存引擎 兩種方法 a show table status from db name where name table name b show create table table name 如果顯示的格式不好看,可以用 g代替行...

MySQL檢視和修改表的儲存引擎

1 檢視系統支援的儲存引擎 show engines 2 檢視表使用的儲存引擎 兩種方法 a show table status from db name where name table name b show create table table name 如果顯示的格式不好看,可以用 g代替行...