MySQL 修改庫(kù),表,字段字符集

因?yàn)橐恍┮绘I安裝包的環(huán)境, my.ini 默認(rèn)配置的字符集是 latin1 或者其他, 如果此時(shí)一旦不注意, 使用sql語(yǔ)句去創(chuàng)建數(shù)據(jù)庫(kù), 表 默認(rèn)都是 latin1, 因?yàn)橛行┳址遣荒艽鎯?chǔ)中文的,如果需要存儲(chǔ)中文, 需要使用GBK,utf8...等字符集...如果一個(gè)個(gè)去修改就太難...

查看字符集

數(shù)據(jù)庫(kù)

SHOW CREATE DATABASE `database_name`

database_name: 數(shù)據(jù)庫(kù)名

數(shù)據(jù)表

SHOW CREATE TABLE `table_name`;

table_name: 數(shù)據(jù)表名

字段

SHOW FULL COLUMNS FROM `table_name`;

table_name: 數(shù)據(jù)表名

修改字符集

數(shù)據(jù)庫(kù)

ALTER DATABASE `test_db` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
  • test 是數(shù)據(jù)庫(kù)名
  • utf8_general_ci 是排序規(guī)則, 可選項(xiàng)

數(shù)據(jù)表

ALTER TABLE `test_db`.`user` CHARACTER SET = utf8mb4, COLLATE = utf8mb4_bin;

字段

ALTER TABLE `test_db`.`username`  MODIFY COLUMN `password` varchar(30)  CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

查看一個(gè)數(shù)據(jù)庫(kù)中所有的表格

select table_name from information_schema.`TABLES` where TABLE_SCHEMA = 'database_name';
  • database_name: 是要查詢的數(shù)據(jù)庫(kù)名稱
  • 這條sql語(yǔ)句中的table_name是關(guān)鍵字, 不是表名

將一個(gè)表所有字段修改為指定字符集

alter table `table_name` convert to character set utf8 COLLATE utf8_bin;

table_name 這個(gè)表的所有字段字符集修改為 utf8 排序規(guī)則為utf8_bin

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。