美文网首页MySQL程序员mysql
Mysql之存储引擎及字符集

Mysql之存储引擎及字符集

作者: hello_我的哥 | 来源:发表于2018-06-07 16:48 被阅读121次

    引擎,从字面上理解就是发动机,其实针对mysql也是一样,存储引擎就是mysql的发动机,发动机要安装在不同的机器上面,对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=校对规则;

    相关文章

      网友评论

        本文标题:Mysql之存储引擎及字符集

        本文链接:https://www.haomeiwen.com/subject/mzgwsftx.html