設定表的字元編碼和儲存引擎

2021-10-03 10:43:05 字數 1659 閱讀 8911

一.設定表的字元編碼

有時候mysql中的表需要儲存中文,需要設定表的字元編碼為utf8,否則預設的字元編碼有可能不能正確處理中文,那麼在mysql中,如何設定表的字元編碼呢?如下:

方法一:建立表的時候指定編碼形式和

// 改變整張表的編碼

mysql> create tablestu_test(

->idint(11) not null,

->namevarchar(10) default null,

-> *** enum(『男』,『女』),

-> primary key (id)

-> ) charset=utf8;

query ok, 0 rows affected (0.04 sec)

方法二:

create tablestudent_tb2(

snamevarchar(10) character set utf8

);在資料型別之後 + character set 編碼

方法三:

還有一種方式是通過改變mysql編碼的形式,是通過改變mysql的配置檔案,改變下面紅框圈出來的為utf-8,記得操作之後一定要重新啟動mysql服務,需要新建資料庫老的資料庫還是之前的編碼。

方法四:

如果定義的字串型別想使用utf8編碼,在定義的時候不適用char或者varchar來定義而是使用nchar或者nvarchar

例:create table user(id int ,name nvarchar(10)));

create table user(id int,*** nchar(2));

方法五:

create table ***_tb2(

s*** enum(『m』,『w』)

);alter table ***_tb2 modify s*** enum(『男』,『女』) character set utf8;

二.修改儲存引擎

方法一:

可以在建立表的時候指定儲存引擎,如下:

create table ai (

i bigint(20) not null auto_increment,

primary key (i)

) engine=innodb default charset=utf8;

方法二也可以修改已存在表的儲存引擎,如下:

alter table user engine = innodb;

方法三還可以修改配置檔案,mysql server啟動的時候都會載入乙個配置檔案,windows下是my.ini檔案,linux下是my.cnf檔案,開啟配置檔案,在[mysqld]下面新增如下內容,儲存,重啟mysql server伺服器,預設就採用配置項指定的儲存引擎了。記得操作之後一定要儲存再重新啟動mysql服務,需要新建資料庫老的資料庫用的還是老的儲存引擎。

位元組,字元,編碼和儲存

位元組 octet 是乙個八位的儲存單元,取值範圍一定是0 255。字元 character 為語言意義上的符號,範圍不一定。例如 a,b,上,中,等。編碼 encode 為每個字元指定乙個數值,同時確定數值的表示方法。儲存 字元編碼在計算機中儲存方式,big endian 高位元組在前,低位元組在...

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代替行...