Mysql之存儲引擎及字符集

引擎,從字面上理解就是發(fā)動機,其實針對mysql也是一樣,存儲引擎就是mysql的發(fā)動機,發(fā)動機要安裝在不同的機器上面,對mysql來說,不同的機器就是不同的數(shù)據(jù)表,每個表都有它的引擎,因為我們在執(zhí)行sq語句的時候,最小的操作單位就是數(shù)據(jù)表了,所以把引擎放在表里面,然后發(fā)動機也有不同的規(guī)格,所以我們的引擎也有不同的庫,由于mysql是開源的,所以mysql的引擎很多,最常用的就是MyISAM,InnoDB,在mysql5.6以上的版本,默認的引擎是innodb,引擎都有不同的作用,所以在建表的時候要選擇合適的引擎;

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

innodb:不支持全文索引,支持事務(wù),行級鎖,崩潰恢復(fù)好,性能快,優(yōu)先推薦使用innodb;

查看默認引擎:我們?nèi)ヅ渲梦募y.ini可以找到默認引擎,在這里也可以修改默認引擎;

查看各個表對應(yīng)的引擎:

通過查看創(chuàng)建表語句可以看到數(shù)據(jù)表對應(yīng)的引擎;

查看所有表的引擎:show table status \G;

查看數(shù)據(jù)庫是否支持的引擎:

指定表的引擎:在創(chuàng)建表的時候,后面跟一個參數(shù)engine就可以了;

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

字符集:不管是數(shù)據(jù)庫還是數(shù)據(jù)表都有它的編碼;

默認編碼:我們可以在這里指定默認編碼;也可以修改默認編碼,修改之后一定要記得重啟服務(wù);

查看數(shù)據(jù)庫編碼:我們指定了默認編碼所以默認是utf8;

指定數(shù)據(jù)庫編碼:

修改數(shù)據(jù)庫編碼:

查看數(shù)據(jù)表編碼:由于有默認指定,所以默認是utf8;

指定表編碼:

修改表編碼:

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

查看所有的字符集校對:show character set;

我們給表指定了編碼,默認的校對就是該編碼所對應(yīng)的校對,各種校對和編碼必須對應(yīng)起來,不能混用,也可以指定校對方式,那么編碼就是該校對方式對應(yīng)的編碼;

查看表所對應(yīng)的字符集校對:show tables status ;我們可以看到collation對應(yīng)的是utf8_general_ci,那么這張表的編碼肯定是utf8;

指定表的字符集校對:collate=校對規(guī)則;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容