Mysql之存储引擎及字符集

引擎,从字面上理解就是发动机,其实针对mysql也是一样,存储引擎就是mysql的发动机,发动机要安装在不同的机器上面,对mysql来说,不同的机器就是不同的数据表,每个表都有它的引擎,因为我们在执行sq语句的时候,最小的操作单位就是数据表了,所以把引擎放在表里面,然后发动机也有不同的规格,所以我们的引擎也有不同的库,由于mysql是开源的,所以mysql的引擎很多,最常用的就是MyISAM,InnoDB,在mysql5.6以上的版本,默认的引擎是innodb,引擎都有不同的作用,所以在建表的时候要选择合适的引擎;

myIsam:全文索引(full text) ,不支持事务,表级锁,崩溃恢复不好

innodb:不支持全文索引,支持事务,行级锁,崩溃恢复好,性能快,优先推荐使用innodb;

查看默认引擎:我们去配置文件my.ini可以找到默认引擎,在这里也可以修改默认引擎;

《Mysql之存储引擎及字符集》

查看各个表对应的引擎:

通过查看创建表语句可以看到数据表对应的引擎;

《Mysql之存储引擎及字符集》

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

《Mysql之存储引擎及字符集》

查看数据库是否支持的引擎:

《Mysql之存储引擎及字符集》

指定表的引擎:在创建表的时候,后面跟一个参数engine就可以了;

《Mysql之存储引擎及字符集》

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

《Mysql之存储引擎及字符集》

字符集:不管是数据库还是数据表都有它的编码;

默认编码:我们可以在这里指定默认编码;也可以修改默认编码,修改之后一定要记得重启服务;

《Mysql之存储引擎及字符集》

查看数据库编码:我们指定了默认编码所以默认是utf8;

《Mysql之存储引擎及字符集》

指定数据库编码:

《Mysql之存储引擎及字符集》

修改数据库编码:

《Mysql之存储引擎及字符集》

查看数据表编码:由于有默认指定,所以默认是utf8;

《Mysql之存储引擎及字符集》

指定表编码:

《Mysql之存储引擎及字符集》

修改表编码:

《Mysql之存储引擎及字符集》

字符集校对:主要是解决排序和字符分组问题,每一种字符都有它的校对方式,我们选的是哪一种字符,就用哪一种字符的校对方式:

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

《Mysql之存储引擎及字符集》

我们给表指定了编码,默认的校对就是该编码所对应的校对,各种校对和编码必须对应起来,不能混用,也可以指定校对方式,那么编码就是该校对方式对应的编码;

查看表所对应的字符集校对:show tables status ;我们可以看到collation对应的是utf8_general_ci,那么这张表的编码肯定是utf8;

《Mysql之存储引擎及字符集》

指定表的字符集校对:collate=校对规则;

《Mysql之存储引擎及字符集》
《Mysql之存储引擎及字符集》

    原文作者:hello_我的哥
    原文地址: https://www.jianshu.com/p/9c3feb9ccd0d
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞