关于MYSQL 字符集总结

MySQL字符集 MySQL字符集设置分为两类:1)创建对象的默认值。2)控制server和client端交互通信的配置。下面介绍下几个MYSQL命令: 1)show character set;或show char set;查看数据库支持的所有字符集 2)status;或\s;查看当前状态 里面包括当然的字符集设置 3)show variables like 'char%'; 阅读详情
# 关于MYSQL 字符集
字符集:简单的理解就是 所有字符用一种方式 组成一个集合,全世界有很多种字符,所以对于字符来说,你需要一个翻译让机器知道他所对应的字符。
比较规则,也称校对规则: 这个用来定义谁大谁小,用哪种方式来比 (比如1<2 ,a<b 或者A<b),这个很类似C#里面的 compare ,定义一些对象的比较方式。


在MYSQL中字符集是单独出来的一个内容,
在MSSQL中排序规则(包含了字符集以及比较规则,还多了一个是否区分重音的)


在MYSQL中字符集 级别 有,服务器,数据库,表,列,在查询的时候指定转换
在MSSQL中也有服务器,数据库,以及列,在查询的时候指定转换,没有表。




MYSQL 中 服务器级别的设置:
1.ini中配置 character_set_server=charactername设置,
2.也可以在mysqld 启动中设置(试了下一直在报错未编译的字符集),
3.还可以在 status中设 置: SET @@character_set_server=xxx ,校对规则是 collation_server


在MSSQL 中 服务器级别的要修改 比较麻烦。






A.创建数据库时 或者修改数据库时指定相应的字符集或者校对集


CREATE DATABASE db_name
    [[DEFAULT] CHARACTER SET charset_name]
    [[DEFAULT] COLLATE collation_name]
 
ALTER DATABASE db_name
    [[DEFAULT] CHARACTER SET charset_name]
    [[DEFAULT] COLLATE collation_name]
例如:


CREATE DATABASE db_name
    DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
    
    如果只是指定 字符集,没指定校对集的话,那就是默认字符集的默认的那个校对集。
    
 B.  表字符集和校对
每一个表有一个表字符集和一个校对规则,它不能为空。为指定表字符集和校对规则,CREATE TABLE 和ALTER TABLE语句有一个可选的子句:
CREATE TABLE tbl_name (column_list)
    [DEFAULT CHARACTER SET charset_name [COLLATE collation_name]]
 
ALTER TABLE tbl_name
    [DEFAULT CHARACTER SET charset_name] [COLLATE collation_name]
    
   如果没有指定相关的都是一层一层找默认值。
 C.
列字符集和校对
每一个“字符”列(即,CHAR、VARCHAR或TEXT类型的列)有一个列字符集和一个列 校对规则,它不能为空。列定义语法有一个可选子句来指定列字符集和校对规则:
col_name {CHAR | VARCHAR | TEXT} (col_length)
    [CHARACTER SET charset_name [COLLATE collation_name]]








D.当MYSQL 客户端与服务端 交互时 就会出现字符集的转换与设定问题,


主要的是 客户端字符集,连接字符集,服务端字符集,返回结果字符集。


这些都可以通过系统变量来设计:
客户端字符集 character_set_client,
连接字符集 character_set_connetion, 
服务端字符集 character_set_server
返回结果字符集 character_set_results




MYSQL帮助文档描述


10.3.6. 连接字符集和校对
一些字符集和校对规则系统变量与客户端和服务器的交互有关。在前面的章节中已经提到过部分内容:
·         服务器字符集和校对规则可以用作character_set_server和collation_server变量的值。


·         默认数据库的字符集和校对规则可以用作character_set_database和collation_database变量的值。


在客户端和服务器的连接处理中也涉及了字符集和校对规则变量。每一个客户端有一个连接相关的字符集和校对规则变量。


考虑什么是一个“连接”:它是连接服务器时所作的事情。客户端发送SQL语句,例如查询,通过连接发送到服务器。服务器通过连接发送响应给客户端,例如结果集。对于客户端连接,这样会导致一些关于连接的字符集和 校对规则的问题,这些问题均能够通过系统变量来解决:


·         当查询离开客户端后,在查询中使用哪种字符集?


服务器使用character_set_client变量作为客户端发送的查询中使用的字符集。


·         服务器接收到查询后应该转换为哪种字符集?


转换时,服务器使用character_set_connection和collation_connection系统变量。它将客户端发送的查询从character_set_client系统变量转换到character_set_connection(除非字符串文字具有象_latin1或_utf8的引介词)。collation_connection对比较文字字符串是重要的。对于列值的字符串比较,它不重要,因为列具有更高的 校对规则优先级。


·         服务器发送结果集或返回错误信息到客户端之前应该转换为哪种字符集?


character_set_results变量指示服务器返回查询结果到客户端使用的字符集。包括结果数据,例如列值和结果元数据(如列名)。


你能够调整这些变量的设置,或可以依赖默认值(这样,你可以跳过本章)。


有两个语句影响连接字符集:


SET NAMES 'charset_name'
SET CHARACTER SET charset_name
SET NAMES显示客户端发送的SQL语句中使用什么字符集。因此,SET NAMES 'cp1251'语句告诉服务器“将来从这个客户端传来的信息采用字符集cp1251”。它还为服务器发送回客户端的结果指定了字符集。(例如,如果你使用一个SELECT语句,它表示列值使用了什么字符集。)


SET NAMES 'x'语句与这三个语句等价:


mysql> SET character_set_client = X;
mysql> SET character_set_results = X;
mysql> SET character_set_connection = X;
将x设置为character_set_connection也就设置了collation_connection是x的默认校对规则。


SET CHARACTER SET语句是类似的,但是为 默认数据库设置连接字符集和校对规则。SET CHARACTER SET x语句与这三个语句等价:


mysql> SET character_set_client = X;
mysql> SET character_set_results = X;
mysql> SET collation_connection = @@collation_database;
当一个客户端连接时,它向服务器发送希望使用的字符集名称。服务器为那个字符集设置character_set_client、character_set_results和 character_set_connection变量。(实际上,服务器为使用该字符集执行一个SET NAMES操作。)


E.声明字符串时指定相应的字符集以及校对集。
一个字符串文字可能有一个可选的字符集引介词和COLLATE子句:
[_charset_name]'string' [COLLATE collation_name]






F.关于字符集一些转换。可以参考 CAST ,CONVERT 的 USING  使用。


G。查询相关字符集的配置信息。
1. SHOW CHARACTER SET -- 返回所有字符集
2. SHOW COLLATION
3. SHOW CREATE DATABASE-- 返回数据库的字符集与校对规则。
4. SHOW CREATE TABLE-- 返回表
5. SHOW COLUMNS -- 返回列。


这些都 可以 LIKE 正则匹配相关数据。




# 查看字符集 系统变量的设计,也可以单独select @@变量名。
mysql> SHOW VARIABLES LIKE 'character%';
+--------------------------+---------------------------------------------------------+
| Variable_name            | VALUE                                                   |
+--------------------------+---------------------------------------------------------+
| character_set_client     | gbk                                                     |
| character_set_connection | gbk                                                     |
| character_set_database   | utf8                                                    |
| character_set_filesystem | BINARY                                                  |
| character_set_results    | gbk                                                     |
| character_set_server     | utf8                                                    |
| character_set_system     | utf8                                                    |
| character_sets_dir       | C:\Program Files\MySQL\MySQL SERVER 5.7\SHARE\charsets\ |
+--------------------------+---------------------------------------------------------+
8 ROWS IN SET (0.07 sec)






MSSQL 没有这么多设计,但是相关的 数据库排序规则,列排序规则 也有相关的函数查询。声明时指定规则,以及查询指定规则 都是可以的。
但是有一点,不可以随便更改 库,服务器 排序规则(比较麻烦)


大致总结如上。

















临床预测模型R语言全流程实战:从建模到Bootstrap验证的完整代码 临床预测模型是利用患者特征预测疾病结局发生概率的重要统计工具,其核心在于通过Logistic回归或Cox比例风险模型建立风险函数,并借助ROC曲线、校准曲线等指标评估模型的区分度与校准度。Bootstrap内部验证和DCA决策曲线分析则是当前审稿人关注的焦点,前者用于校正过拟合带来的乐观估计,后者用以判断模型在临床决策中的实际净获益。在肿瘤预后、慢病风险评估等场景中,基于R语言的模型构建与列线图可视化已成为论文发表的关键环节。本文以survival包自带肺癌数据为例,系统展示从数据预处理、变量筛选到多因素建 阅读详情

相关推荐

用nTopology五分钟生成三维Voronoi泡沫:节点式建模从原理到实操

多孔结构在增材制造与轻量化设计中应用广泛,其中Voronoi泡沫因其优异的缓冲吸能和比刚度表现备受关注。传统CAD建模需处理复杂布尔运算和网格修复,而隐式建模通过数学场描述几何体,将空间距离与密度分布转化为可视化节点,大幅降低操作门槛。nTopology基于场驱动与参数化逻辑,无需编写命令,即可实时调节胞元尺寸、壁厚及随机种子,快速生成可打印的泡沫实体。这种工作流适用于缓冲垫、医疗植入体、航空支架等场景,也为梯度密度结构与力学仿真验证提供了高效路径。本文围绕三维Voronoi泡沫的生成原理与节点操作流程,详

weixin_26767391的博客 150

MySQL数据库字符集详解(适合初学者)

MySQL数据库字符集问题 1.查看mysql所支持的字符集 指令:SHOW CHARACTER SET; 很多很多,这里就不全部放上来了,这里的charset代表字符集,就是编码对应字符的集合,后面的collation代表了字符序,字符序就是每种不同的字符集在比较时采用的不同的方法。只要表上有的字符集,就可以被我们采用。 2.当前关于mysql的各种字符集 指令:SHOW VA

LiQiyao的博客 5520

【NTN 卫星通信】使用地面网络和卫星网络接入的终端应用场景

卫星接入有广覆盖的特点, 可以改善地面接入网覆盖或无线条件差的地区(例如多径干扰)的服务可用性。对于高速移动中需要实时业务的终端,如IMS语音/视频会议,可以通过地面接入和卫星接入同时实现与5G系统的双连接,在地面接入网不可用的情况下获得连续可靠的业务。

weixin_43603524的博客 2558

mysql 常用命令

远程连接命令 示例: mysql -h 100.98.180.68 -u keke -p keke_business 查询数据库编码: mysql> show variables like 'character\_set\_%'; +--------------------------+--------+ | Variable_name            | Value  | +-

hxyerui的博客 430

深入解析:如何基于开源OpENer开发EtherNet/IP从站服务

通过OpENer开源库,开发者可以快速实现符合ODVA规范的EtherNet/IP从站设备,降低开发成本并提高系统灵活性。本文详细介绍了EtherNet/IP协议原理、OpENer库的特点与优缺点,以及二次开发的完整流程。通过遵循本文提供的指南,开发者可以成功构建出工业级的EtherNet/IP通信设备。

极地星辰 2999

ArcGIS山体坡度、坡向分析

本篇文章主要记录自己在对山体坡向及坡度分析中的一些操作。

Belence_zhao的博客 7412

MySQL字符集是什么

一、什么是字符集 字符集指的是某个范围字符的编码规则 比如utf8字符集对于所有中文汉字采用3个字节来表示(编码),所以我们称utf8为一种字符集。 这里的范围就是指所有的中文汉字 编码规则就是指 都采用3个字节来表示一个汉字 比如ASCII字符集对于所有英文字母采用1个字节来表示(编码),所以我们称ASCII为一种字符集。 这里的范围就是指所有的英文字母 编码规则就是指 都采用1个字节来表示一个字母 二、MySQL客户端和MySQL服务端字符集是如何交互的 1、前置知识 MySQL客户端

wenpan的博客 7898

ipsec 加密流程(一):ipsec策略匹配

《openswan》专栏系列文章主要是记录openswan源码学习过程中的笔记。 Author: Toney Email: vip_13031075266@163.com Date: 2020.11.22 Copyright: 未经同意不得转载!!! Version:2.6.51.5 Reference:https://download.openswan.org/openswan/ 1. ipsec策略匹配流程(ipsec_tunnel_start_xmit) 注:open...

遇见你是我最美丽的意外 9121

MySQL 字符集

字符集是计算机科学中的一个重要概念,用于定义文本中可以使用的字符集合。而 MySQL 字符集则是 MySQL 数据库管理系统中用于存储和处理文本数据的字符集。  

星星的专栏 945

ShardingJDBC支持批量插入数据

最近在进行分库分表,但是有张表,里面有一些批量的插入。 也就是: insert xxx values(...),(...),(...) 这样的语句。 开始我的依赖是: <dependency> <groupId>io.shardingjdbc</groupId> <artifactId>sharding-jdbc-core</artifactId> <v

谙忆-陈浩翔 9765

R数据分析:潜在转化分析LTA的做法和解释(一)

之前给大家写了很多潜在类别分析的教程Mplus教程:如何做潜在类别分析LCAR数据分析:用R语言做潜类别分析LCAMplus数据分析:潜在类别分析(LCA)流程(详细版)R数据分析:再写潜在类别分析LCA的做法与解释,今天继续给大家拓展一步。 今天要介绍的就是潜在转换分析,这个东西就是LCA的纵向版本。是一个专门用来研究质变的统计技巧。有一句话叫做量变起质变,你怎么知道质变到底发生没有?就用潜在转换分析。 Latent transition analysis is an extension of...

Codewar的博客 7703

深入Mysql字符集设置

· 作者:laruence(http://www.laruence.com/) · 本文地址: http://www.laruence.com/2008/01/05/12.html · 转载请注明出处 根据Chaos  Wang的PPT整理而成, 在此再次感谢Chaos Wang的此次TechTalk  基本概念• 字符(Character)是指人类语言中最小

雪候鸟的专栏 7765

7、PPG信号处理与质量评估

本文详细介绍了PPG信号的处理与质量评估方法,包括信号滤波技术(如卷积和互相关)、滤波器选择、信号质量指标(SQI)的定义与应用,以及标注一致性的评估。同时,提供了MATLAB代码示例和操作步骤,并分析了不同指标的优势与适用场景,旨在提高PPG信号在诊断和监测中的准确性与可靠性。

salt的博客 254

mysql 修改字段的字符集_MySQL修改字符集

一、修改字符集1、修改数据库字符集alter database db_new charset utf8mb4;2、修改表字符集alter table tb charset=utf8mb4;3、修改表字符集和校验规则alter table tb charset=utf8mb4 collate=utf8mb4_general_ci;4、修改表字段的字符集和校验规则alter table tb modi...

weixin_39836803的博客 1万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

MySQL字符集的转换

MySQL支持 ASCII、Latin1、GBK以及Unicode 等绝大多数字符集。需要注意的是utf8 字符集包括 utf8 和 utf8mb4 这两个字符集,且占用的最大长度不一样。在 MySQL 8.0之前的版本,utf8类型每个字符最大占用3个字节空间,8.0之后的版本支持utf8mb4类型,单个字符最大占用4字节空间,且可以支持表情等特殊符号。字符集的作用是提供字符到编码的映射,但是不定义字符之间的比较关系。与数字相关类型一样,字符与字符之间也有大小关系,这一部分工作则由比较规则定义。

2301_76664379的博客 1460

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

MySQL查看字符集以及修改字符集

MySQL查看字符集以及修改字符集

YSTWD_WY的博客 1万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Mysql字符集

mysql字符集和排序规则

程序员一博 3293

mysql常见字符集_MySQL字符集

一.字符集介绍什么是字符集(Charset)字符集:是一个系统支持的所有抽象字符的集合。字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。1.gbk/gb2312gbk/gb2312采用双字节字符集,不论中、英文字符均使用双字符来表示,为了区分中文,将其最高位都设定成1gb2312是gbk的子集,gbk是gb18030的子集,gb2312仅能存储简体中文字符gbk包括中日韩字...

weixin_42401338的博客 2303

mysql字符集首选_MySQL字符集选择

怎样选择合适的字符集对MySQL数据库来说,字符集很重要,因为数据库存储的数据大部分都是各种文字,字符集对数据库的存储,处理性能都会有所影响。主要考虑一下几方面的因素1.满足应用支持语言的需求,应用处理各种各样的文字,发布到使用不同语言的国家或地区,可以选择Unicode字符集,MySQL的话可以选择UTF-82.如果应用中涉及已有数据的导入,就要充分考虑数据库字符集对已有数据的兼容性。假设数据是...

weixin_35767900的博客 1462

mysql gbk字符集_Mysql字符集知识总结

字符集&字符编码方式字符集(Character set)是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,这里的字符可以是英文字符,汉字字符,或者其他国家语言字符。常见字符集包括:ASCII字符集、LATIN1字符集、GB2312字符集、GBK字符集、GB18030字符集、Unicode字符集等。字符编码方式是用一个或多个字节表示字符集中的一个字符。每种字符集都有自己特有的编...

weixin_35426022的博客 1161

mysql中基字符集,MySQL中的字符集

我们在开发过程中可能会碰到MySQL字符集的问题,有时候发现存入某个字符,数据库存储不对。有时候发现,存储某个字符正确,但是获取到的又是乱码。这种情况下一个一个去网上搜索,实在是浪费时间。这里总结一下MySQL中字符集的规则以及配置方法,下次遇到问题时,不妨从这里总结的入手。首先,先了解两个概念。字符集和校对规则MySQL包含字符集(character)和校对规则(collation)两个概念。字...

weixin_42505252的博客 262

简述mysql字符集选择方法_MySQL字符集详解

一、字符集和校验规则字符集是一套符合和编码,校验规则(collation)是在字符集内用于比较字符的一套规则,即字符集的排序规则。MySQL可以使用对种字符集和检验规则来组织字符。MySQL服务器可以支持多种字符集,在同一台服务器,同一个数据库,甚至同一个表的不同字段都可以指定使用不同的字符集,相比oracle等其他数据库管理系统,在同一个数据库只能使用相同的字符集,MySQL明显存在更大的灵活性...

weixin_35351343的博客 1212

简述mysql字符集选择方法_MySQL字符集选择

一、怎样选择合适的字符集对MySQL数据库来说,字符集很重要,因为数据库存储的数据大部分都是各种文字,字符集对数据库的存储,处理性能都会有所影响。主要考虑一下几方面的因素1.满足应用支持语言的需求,应用处理各种各样的文字,发布到使用不同语言的国家或地区,可以选择Unicode字符集,MySQL的话可以选择UTF-82.如果应用中涉及已有数据的导入,就要充分考虑数据库字符集对已有数据的兼容性。假设数...

weixin_35785186的博客 2727

MySql基础,MySql字符集

文章目录MySQL字符集和校对规则详解MySQL字符集的转换过程MySQL查看字符集和校对规则MySQL设置默认字符集和校对规则服务器字符集和校对规则数据库字符集和校对规则表字符集和校对规则列字符集和校对规则连接字符集和校对规则MySQL字符集的选择 MySQL字符集和校对规则详解 先来简单了解一下字符、字符集和字符编码。 字符(Character):是计算机中字母、数字、符号的统称,一个字符可以是一个中文汉字、一个英文字母、一个阿拉伯数字、一个标点符号等。 计算机是以二进制的形式来存储数据的。平时我们在

ghb741649543的博客 782

mysql 默认字符集_设定mysql的默认字符集

mysql> show global variables like '%charac%'; --查看当前mysql采用的字符集mysql>show global variables like '%server%'; --查看当前服务端全局字符集+----------------------+--------------------+| Variable_name ...

weixin_39826342的博客 1339

mysql 字符集的用处_Mysql字符集知识总结

字符集&字符编码方式字符集(Character set)是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,这里的字符可以是英文字符,汉字字符,或者其他国家语言字符。常见字符集包括:ASCII字符集、LATIN1字符集、GB2312字符集、GBK字符集、GB18030字符集、Unicode字符集等。字符编码方式是用一个或多个字节表示字符集中的一个字符。每种字符集都有自己特有的编...

weixin_42268494的博客 732
上一篇: 关于常用 MYSQL 聚合函数,其他函数 ,类型转换,运算符 总结
下一篇: 关于MYSQL DATABASE相关操作与介绍
SQL77
博客等级 码龄18年 717粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值