mysql中一个中文字符占几个字节,怎么验证

一,长度取决于字符集编码

在MySQL中,一个中文字符所占用的字节数取决于你使用的字符集(Character Set)。
1,对于UTF-8字符集,一个中文字符通常占3个字节
2,而对于GBK等双字节字符集,一个中文字符占用2个字节。UTF-8字符集因其支持更多语言和字符范围而被广泛使用,所以在MySQL中存储中文字符时,一个中文字符通常是3个字节。
3,注意区分字节和字符,例如:“二哈”,是两个字符,按上面的解释,占6个字节或者4个字节;

二,怎么验证一下:

在MySQL中,创建一个包含中文字符的表,并查看其数据占用的字节数来验证这一结论。以下是一个使用UTF-8字符集的例子:
1,创建一个新的数据库或确保你当前数据库的默认字符集为UTF-8(通常情况下,新建的MySQL数据库默认就是UTF-8)。

CREATE DATABASE IF NOT EXISTS test_db CHARACTER SET utf8 COLLATE utf8_general_ci;
USE test_db;

2,在这个数据库中创建一个新表并插入一行包含中文字符的数据

CREATE TABLE IF NOT EXISTS test_table (id INT AUTO_INCREMENT PRIMARY KEY,chinese_text VARCHAR(255)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO test_table (chinese_text) VALUES ('测试');

3,现在可以查询该行数据的长度,由于MySQL的LENGTH()函数返回的是字节长度,在UTF-8编码下,两个中文字符应占用6个字节:

SELECT LENGTH(chinese_text) FROM test_table;

4,执行此查询后,你应该会看到结果为6,因为“测试”两个中文字符在UTF-8编码下各占3个字节。如果要获取字符数量,可以使用CHAR_LENGTH()函数:

SELECT CHAR_LENGTH(chinese_text) FROM test_table;

5,执行此查询后,你会得到结果为2,表示有两个中文字符。

三:上面用到的关键字 COLLATE 是干什么的

在数据库系统中,COLLATE 是一个与字符集相关的指令,用于指定字符串排序规则(Collation)。 COLLATION 主要影响文本字段的比较、排序和索引操作。
字符排序顺序:不同语言或地区可能有不同的字符排序规则,比如德语中的 “ä” 在字母表中通常会排在 “a” 之后,而在某些其他语言中它可能被视为与 “a” 相同。通过指定不同的 COLLATE 设置,可以控制在排序和查找时如何处理这些特殊字符。

大小写敏感性:COLLATE 可以定义排序和比较是否区分大小写,例如 COLLATE Latin1_General_CS_AS 表示使用拉丁字符集,并且是大小写敏感和 Accent 敏感的排序。

重音符号敏感性:某些 COLLATE 设置还区分重音符号,如法语中的 é 和 e 会被视为不同的字符。

在 MySQL 中,当你创建表、列或者执行查询时,都可以指定 COLLATE 属性来确定特定字段或整个数据库的排序规则。例如:

CREATE TABLE Users (id INT PRIMARY KEY,username VARCHAR(50) COLLATE utf8_general_ci
);SELECT * FROM Users WHERE username = 'user' COLLATE utf8_bin;

在这个例子中,utf8_general_ci 是一种不区分大小写且对大多数重音符号不敏感的排序规则,而 utf8_bin 则是一种二进制排序规则,完全区分大小写和其他字符差异。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/654137.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ES6.8.6 创建索引配置分词器、映射字段指定分词器、查询数据高亮显示分词结果(内置分词器、icu、ik、pinyin分词器)

文章目录 ES环境内置分词器,以simple分词器示例查询创建索引simple_news,修改分词器为simple插入模拟数据分词查询:返回通过分词查询到的结果、高亮分词分词匹配:写一次示例,其他分词和匹配思路基本一致第一步&#xf…

DMA 和 零拷贝技术 到 网络大文件传输优化

文章目录 DMA 控制器的发展无 DMA 控制器 IO 过程DMA 控制器 传统文件传输性能有多糟糕?如何优化文件传输性能零拷贝技术mmap writesendfileSG-DMA(The Scatter-Gather Direct Memory Access) 零拷贝技术的应用 大文件传输应该用什么方式Pag…

后台管理系统模板搭建/项目配置

1 项目初始化 一个项目要有统一的规范,需要使用eslintstylelintprettier来对我们的代码质量做检测和修复,需要使用husky来做commit拦截,需要使用commitlint来统一提交规范,需要使用preinstall来统一包管理工具。 1.1 环境准备 1…

idea 创建 spring boot

1.创建步骤 2. 编码添加 2.1 这是自动生成的启动函数 package com.example.comxjctest4;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication public class Application {publi…

floyd算法求最短路径

给定一个 n个点 m 条边构成的无重边和自环的无向连通图。 点的编号为 1∼n。 请问:从 1到 n 的最短距离。去掉 k 条边后,从 1 到 n的最短距离。 输入格式 第一行包含整数 T,表示共有 T 组测试数据。每组数据第一行包含三个整数 n,m,k。接下来…

学习MySQL中的“IS NULL”优化

学习MySQL中的“IS NULL”优化 在数据库查询中,性能优化是一个至关重要的话题。特别是对于使用MySQL的开发者和数据库管理员来说,了解如何高效地处理NULL值是提高查询性能的关键。 基本优化 在MySQL中,当我们使用col_name IS NULL这样的条…

MySql的使用方法

一.什么是MySql MySql是一种数据库管理系统,是用来存储数据的,可以有效的管理数据,数据库的存储介质为硬盘和内存。 和文件相比,它具有以下优点: 文件存储数据是不安全的,且不方便数据的查找和管理&#xf…

【3分钟开服】幻兽帕鲁服务器一键部署保姆教程,PalWorld开服联机教程

在帕鲁的世界,你可以选择与神奇的生物「帕鲁」一同享受悠闲的生活,也可以投身于与偷猎者进行生死搏斗的冒险。帕鲁可以进行战斗、繁殖、协助你做农活,也可以为你在工厂工作。你也可以将它们进行售卖,或肢解后食用。 想要部署属于自…

从零开发短视频电商 Tesseract OCR识别增强

文章目录 概要图像预处理阶段默认反转图像重新缩放二值化噪音消除膨胀/腐蚀旋转/偏移校正边框缺少边框边框太大扫描边框去除 透明度/Alpha通道 引擎处理阶段语言模型配置提高识别速度词典、单词列表和模式表格识别 使用 Tesseract OCR 的 GUI 和其他项目 原文如下: …

TypeScript实战系列之合理运用类型

目录 介绍any 和 unknownerve 的用途断言type 和 interfacedeclare 关键字的作用联合类型 和 类型守卫交叉类型 介绍 这篇主要介绍下ts 常用的基本类型和一些常用的技巧性技能 any 和 unknow any 和 unknown 是两个类型关键字,它们用于处理类型不确定或未知的情况…

【Sql Server】新手一分钟看懂在已有表基础上修改字段默认值和数据类型

欢迎来到《小5讲堂》,大家好,我是全栈小5。 这是《Sql Server》系列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对…

力扣日记1.28-【回溯算法篇】93. 复原 IP 地址

力扣日记:【回溯算法篇】93. 复原 IP 地址 日期:2023.1.28 参考:代码随想录、力扣 93. 复原 IP 地址 题目描述 难度:中等 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0&…

IP地址定位技术的巧妙运用:企业网络安全的坚实防线

在当今数字时代,企业网络安全成为了至关重要的议题。面对不断增长的网络威胁,企业不得不采用创新性技术来保护其机密信息和关键系统。IP地址定位技术作为一种强大的工具,为企业提供了一种新颖而高效的网络安全保护手段。 IP地址定位技术简介 …

前端Vue v-for 的使用

目录 ​编辑 简介 使用方式 基本使用 v-for"(item, index)中item和index作用 示例 迭代对象 示例 结果 前言-与正文无关 生活远不止眼前的苦劳与奔波,它还充满了无数值得我们去体验和珍惜的美好事物。在这个快节奏的世界中,我们往往容易陷入…

证券公司怎么选择?福州开股票账户佣金最低是多少?怎么开低佣金账户?

股票交易佣金是指投资者在进行股票交易时,需要向券商支付的手续费。具体的佣金费用根据券商的政策而有所不同,一般分为固定佣金和按比例佣金两种方式。 固定佣金是指交易每一笔固定收取一定金额的佣金,通常适用于较小交易量的投资者&#xf…

github ssh ssh-keygen

生成和使用 SSH 密钥对是一种安全的身份验证方式,用于在你的本地系统和 GitHub 之间进行身份验证。以下是在 GitHub 上生成和使用 SSH 密钥对的基本步骤: 1. 生成 SSH 密钥对 在命令行中执行以下命令来生成 SSH 密钥对: ssh-keygen -C &q…

ATT汇编

指令后缀 AT&T格式的汇编指令有不同的后缀 其中 b表示byte,字节 w表示word,字/两字节 l表示long,32位系统下的long是4字节 q表示quad,意味四重,表示4个字/8字节 寄存器用途 参见 AT&T的汇编世界 - Gemfield…

把数组中的key都取出来然后去重

今日接到一个小需求,一张表有类似这样的数据:(下面是一行) 但是每行的数据,主要是key不一样,我们想把所有的key取出来,并且做个去重。 首先我先在mysql中, SELECT GROUP_CONCAT(RE…

Leetcode 3020. Find the Maximum Number of Elements in Subset

Leetcode 3020. Find the Maximum Number of Elements in Subset 1. 解题思路2. 代码实现 题目链接:3020. Find the Maximum Number of Elements in Subset 1. 解题思路 这一题我做的是比较水的,首先就是统计下array当中各个元素出现的频次&#xff0…

蓝桥杯---九数组分数

1,2,3 ... 9 这九个数字组成一个分数,其值恰好为1/3,如何组法? 下面的程序实现了该功能,请填写划线部分缺失的代码。 注意,只能填写缺少的部分,不要重复抄写已有代码。不要填写任何多余的文字。 代码 public class _05九数组分数 {public static void test(int[] x){int a …