SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。 本文主要介绍mysql字符集、字符序的概念与联系,给大家分享了多种方式查看MYSQL支持的字符集。具体内容详情大家参考下本文,希望能帮助到大家。
一、内容概述
在MySQL的使用过程中,了解字符集、字符序的概念,以及不同设置对数据存储、比较的影响非常重要。不少同学在日常工作中遇到的“乱码”问题,很有可能就是因为对字符集与字符序的理解不到位、设置错误造成的。 本文由浅入深,分别介绍了如下内容: 字符集、字符序的基本概念及联系
MySQL支持的字符集、字符序设置级,各设置级别之间的联系
server、database、table、column级字符集、字符序的查看及设置
应该何时设置字符集、字符序
二、字符集、字符序的概念与联系
在数据的存储上,MySQL提供了不同的字符集支持。而在数据的对比操作上,则提供了不同的字符序支持。 MySQL提供了不同级别的设置,包括server级、database级、table级、column级,可以提供非常精准的设置。 什么是字符集、字符序?简单的来说: 字符集(character set):定义了字符以及字符的编码。 字符序(collation):定义了字符的比较规则。
举个例子: 有四个字符:A、B、a、b,这四个字符的编码分别是A = 0, B = 1, a = 2, b = 3。这里的字符 + 编码就构成了字符集(character set)。 如果我们想比较两个字符的大小呢?比如A、B,或者a、b,最直观的比较方式是采用它们的编码,比如因为0 < 1,所以 A < B。 另外,对于A、a,虽然它们编码不同,但我们觉得大小写字符应该是相等的,也就是说 A == a。 这上面定义了两条比较规则,这些比较规则的集合就是collation。 同样是大写字符、小写字符,则比较他们的编码大小; 如果两个字符为大小写关系,则它们相等。
三、MySQL支持的字符集、字符序
MySQL支持多种字符集 与 字符序。 一个字符集对应至少一种字符序(一般是1对多)。 两个不同的字符集不能有相同的字符序。 每个字符集都有默认的字符序。
上面说的比较抽象,我们看下后面几个小节就知道怎么回事了。 1、查看支持的字符集 可以通过以下方式查看MYSQL支持的字符集。 方式一: mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
|