Mysql之儲存引擎及字符集

local0發表於2021-09-09

機,發動機要安裝在不同的機器上面,對mysql來說,不同的機器就是不同的資料表,每個表都有它的引擎,因為我們在執行sq語句的時候,最小的操作單位就是資料表了,所以把引擎放在表裡面,然後發動機也有不同的規格,所以我們的引擎也有不同的庫,由於mysql是開源的,所以mysql的引擎很多,最常用的就是MyISAM,InnoDB,在mysql5.6以上的版本,預設的引擎是innodb,引擎都有不同的作用,所以在建表的時候要選擇合適的引擎;

myIsam:全文索引(full text) ,不支援事務,表級鎖,崩潰恢復不好

innodb:不支援全文索引,支援事務,行級鎖,崩潰恢復好,效能快,優先推薦使用innodb;

檢視預設引擎:我們去配置檔案my.ini可以找到預設引擎,在這裡也可以修改預設引擎;

圖片描述

檢視各個表對應的引擎:

透過檢視建立表語句可以看到資料表對應的引擎;

圖片描述

檢視所有表的引擎:show table status G;

圖片描述

檢視資料庫是否支援的引擎:

圖片描述

指定表的引擎:在建立表的時候,後面跟一個引數engine就可以了;

圖片描述

修改表引擎:alter  table 表名  engine=引擎;

圖片描述

字符集:不管是資料庫還是資料表都有它的編碼;

預設編碼:我們可以在這裡指定預設編碼;也可以修改預設編碼,修改之後一定要記得重啟服務;

圖片描述

檢視資料庫編碼:我們指定了預設編碼所以預設是utf8;

圖片描述

指定資料庫編碼:

圖片描述

修改資料庫編碼:

圖片描述

檢視資料表編碼:由於有預設指定,所以預設是utf8;

圖片描述

指定表編碼:

圖片描述

修改表編碼:

圖片描述

字符集校對:主要是解決排序和字元分組問題,每一種字元都有它的校對方式,我們選的是哪一種字元,就用哪一種字元的校對方式:

檢視所有的字符集校對:show character set;

圖片描述

我們給表指定了編碼,預設的校對就是該編碼所對應的校對,各種校對和編碼必須對應起來,不能混用,也可以指定校對方式,那麼編碼就是該校對方式對應的編碼;

檢視錶所對應的字符集校對:show tables status ;我們可以看到collation對應的是utf8_general_ci,那麼這張表的編碼肯定是utf8;

圖片描述

指定表的字符集校對:collate=校對規則;

圖片描述

圖片描述



作者:hello_我的哥
連結:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/132/viewspace-2821081/,如需轉載,請註明出處,否則將追究法律責任。

相關文章