MySQL疑01 建立表,表中存在中文時亂碼問題

2022-08-31 16:48:20 字數 1457 閱讀 9668

1.建立庫時指定編碼:

create database testdb default charset gbk
2.修改庫的編碼:

alter database `庫名` default character set utf8 collate utf8_bin
3.修改表的編碼:

alter table `表名` default character set utf8 collate utf8_bin 4
4.修改欄位的編碼:

alter table `表名` change `舊欄位名` `新欄位名` varchar( 45 ) character set utf8 collate utf8_bin not null
5.檢視資料庫支援的所有字符集

show character set;或show char set;
6.檢視當前狀態 裡面包括當然的字符集設定

status或者\s
7.檢視系統字符集設定,包括所有的字符集設定

show variables like 'char%';
8.檢視資料表中字符集設定

show full columns from tablename; 或者 show create tabletablename\g;
9.檢視資料庫編碼

show create database dnname;
首先,你設定了配置檔案:

[mysqld]

character-set-server=utf8

collation-server=utf8_general_ci

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

配置檔案結果:

然後,顯示中文亂碼,原因:檢視table編碼:

所以,你在建立table的時候,要加上charset utf8:

中文可以顯示了!

資料庫中是否存在某錶 表是否存在某欄位

判斷資料庫中是否存在某錶以及表書否存在某字段的sql語句 檢查資料庫是否存在表 1.0 select from sys.tables where name 流程例項表 2.0 select from dbo.sysobjects where id object id n 流程例項表 and obje...

mysql 中存在null和空時建立唯一索引的方法

好多情況下資料庫預設值都有null,但是經過程式處理很多時候會出現,資料庫值為空而不是null的情況。此時建立唯一索引時要注意了,此時資料庫會把空作為多個重複值,而創alcebrm建索引失敗,示例如下 步驟1 mysql select phone count 1 from user group by...

mysql判斷表不存在則建立

mysql判斷不存在時建立表或建立資料庫 建立資料庫 create database if not exists mydb character set utf8 建立資料表 create table if not exists world newtable id bigint 8 unsigned ...