[MySQL] 字符集和排序方式 字符串类型 MySQL的字符串分为两大类: 1)二进制字符串:即一串字节序列,对字节的解释不涉及字符集,因此它没有字符集和排序方式的概念 2)非二进制字符串:由字符构成的序列,字符集用来解释字符串的内容,排序方式决定字符的大
[MySQL] 字符集和排序方式字符串类型
MySQL的字符串分为两大类:
1)二进制字符串:即一串字节序列,对字节的解释不涉及字符集,因此它没有字符集和排序方式的概念
2)非二进制字符串:由字符构成的序列,字符集用来解释字符串的内容,排序方式决定字符的大小
字符集和排序方式
字符集和排序方式的关系是这样的:一个字符集可以有一个或多个排序方式,有一个默认的排序方式,我们可以通过以下例子说明:
mysql> show character set like '%gbk%'; +---------+------------------------+-------------------+--------+ | Charset | Description | Default collation | Maxlen | +---------+------------------------+-------------------+--------+ | gbk | GBK Simplified Chinese | gbk_chinese_ci | 2 | +---------+------------------------+-------------------+--------+ 1 row in set (0.00 sec) mysql> show collation like '%gbk%'; +----------------+---------+----+---------+----------+---------+ | Collation | Charset | Id | Default | Compiled | Sortlen | +----------------+---------+----+---------+----------+---------+ | gbk_chinese_ci | gbk | 28 | Yes | Yes | 1 | | gbk_bin | gbk | 87 | | Yes | 1 | +----------------+---------+----+---------+----------+---------+ 2 rows in set (0.00 sec)从上例中我们可以看出字符集gbk有两个排序方式(分别为gbk_chinese_ci何gbk_bin),其中默认的排序方式为gbk_chinese_ci。
排序方式的命名规则为:字符集名字_语言_后缀,其中各个典型后缀的含义如下:
1)_ci:不区分大小写的排序方式
2)_cs:区分大小写的排序方式
3)_bin:二进制排序方式,大小比较将根据字符编码,不涉及人类语言,因此_bin的排序方式不包含人类语言
因此,gbk_chinese_ci排序方式就表示:字符集为gbk,人类语言使用中文来比较大小,比较时区分大小写。
常用函数
字符集引导
字符集引导可以让MySQL指定一种字符集来解释字符常量,其语法为:
_charset str
如:
_utf8 'ABCD' 表示以utf8字符集来介绍字符串常量'ABCD'
字符集转换
convert()函数可以把一个字符串转换成指定字符集,其语法为:
convert(str using charset)
如 convert('ABCD' using utf8) 表示把'ABCD'的字符集转换成uft8
length()函数 --返回字节的长度
char_length() --返回字符长度
与字符集有关的系统变量
通过以下语句可以查看与字符集有关的系统变量:mysql> show variables like 'character\_set\_%'; +--------------------------+--------+ | Variable_name | Value | +--------------------------+--------+ | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | gbk | | character_set_filesystem | binary | | character_set_results | latin1 | | character_set_server | gbk | | character_set_system | utf8 | +--------------------------+--------+ 7 rows in set (0.01 sec) mysql> show variables like 'collation\_%'; +----------------------+-------------------+ | Variable_name | Value | +----------------------+-------------------+ | collation_connection | latin1_swedish_ci | | collation_database | gbk_chinese_ci | | collation_server | gbk_chinese_ci | +----------------------+-------------------+ 3 rows in set (0.00 sec)它们的含义如下: character_set_system:MySQL数据库标识符使用的字符集,永远是utf8 character_set_server和collation_server:服务器的默认字符集和排序方式 character_set_database和collation_database:当前数据库的默认字符集和排序方式
以下三个变量将影响客户端和服务器之间的通信: character_set_client:客户端向服务器发送SQL语句使用的字符集
character_set_results:服务器向客户端返回结果时使用的字符集
character_set_connection:如果它和character_set_client不同,从客户端发来的SQL语句将转换为它指定的字符集 默认情况下,上述三个变量都设为为相同的值,如果某个客户端想使用另一种字符集与服务器通信,可以修改它们,如:
set character_set_client = utf8; set character_set_results = utf8; set character_set_connection = utf8;或者,更简单的方法是使用如下一条语句也能达到相同的效果:
set names 'utf8';

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于架构原理的相关内容,MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层,下面一起来看一下,希望对大家有帮助。

mysql的msi与zip版本的区别:1、zip包含的安装程序是一种主动安装,而msi包含的是被installer所用的安装文件以提交请求的方式安装;2、zip是一种数据压缩和文档存储的文件格式,msi是微软格式的安装包。

方法:1、利用right函数,语法为“update 表名 set 指定字段 = right(指定字段, length(指定字段)-1)...”;2、利用substring函数,语法为“select substring(指定字段,2)..”。

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

在mysql中,可以利用REGEXP运算符判断数据是否是数字类型,语法为“String REGEXP '[^0-9.]'”;该运算符是正则表达式的缩写,若数据字符中含有数字时,返回的结果是true,反之返回的结果是false。

在mysql中,可利用“ALTER TABLE 表名 DROP INDEX unique key名”语句来删除unique key;ALTER TABLE语句用于对数据进行添加、删除或修改操作,DROP INDEX语句用于表示删除约束操作。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ホットトピック



