MySQL必知必会 第27章 全球化和本地化

本章介绍MySQL处理不同字符集和语言的基础知识。

27.1 字符集和校对顺序

  • 字符集:字母和符号的集合
  • 编码:某个字符集成员的内部标识
  • 校对:规定字符如何比较的指令

校对很重要
使用何种字符集和校对的决定在服务器、数据库和表级进行。

27.2 使用字符集和校对顺序

查看所支持的字符集完整列表:

SHOW CHARACTER SET;

显示所有可用的字符集以及每个字符集的描述和默认校对。

查看所支持校对的完整列表:

SHOW COLLATION;

此语句显示所有可用的校对,以及它们适用的字符串。有的字符集具有不止一种校对。许多校对出现两次,一次区分大小写(由_cs表示),一次不区分大小写(由下划线ci表示)
通常系统管理在安装时定义一个默认的字符集和校对。也可以在创建数据库时,指定默认的字符集和校对。为了确定所用的字符集和校对,可以使用以下语句:

SHOW VARIABLES LIKE 'character%';
SHOW VARIABLES LIKE 'collation%';

实际上,字符集很少是服务器范围(甚至数据库范围)的设置。不同的表,甚至不同的列都可能需要不同的字符集,而且两者都可以在创建表时指定。
给表指定字符集和校对:

CREATE TABLE mytable
(column1 INT,column2 VARCHAR(10)
)DEFAULT CHARACTER SET hebrew
COLLATE hebrew_general_ci;
  • 如果指定CHARACTER SET和COLLATE两者,则使用这些值。
  • 如果只指定CHARACTER SET,则使用此字符集及其默认的校对(SHOW CHARACTER SET的结果所示)
  • 如果既不指定CHARACTER SET,也不指定COLLATE,则使用数据库默认。

MySQL允许对每个列设置字符集和校对。

CREATE TABLE mytable
(column1 INT,column2 VARCHAR(10)column3 VARCHAR(10) CHARACTER SET latin1 COLLATE latin1_general_ci
)DEFAULT CHARACTER SET hebrew
COLLATE hebrew_general_ci;

校对在对用ORDER BY子句检索出来的数据排序时起重要作用。如果你需要用与创建表时不同的校对顺序排序特定的SELECT语句,可以在SELECT语句自身中进行;

区分大小写:

SELECT * FROM customers
ORDER BY lastname,firstname COLLATE latin1_general_cs;

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

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

相关文章

剑指 Offer. 翻转单词顺序

输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. ",则输出"student. a am I"。 示例 1: 输入: "…

[howto] 使用git时,如何忽略本地文件

背景 有一些项目,需要在配置中填写自己的key,但是那个文件还在git的版本管理中,如果自己填了key,很容易把自己的key给commit上去了。所以要么每次提交之前检查一下,不提交这个文件,要么干脆忽略&#xff0…

Python学习笔记-Django框架基础,APP,数据模型,后台管理,路由

一、Django框架简介 Django框架是Python的常用web框架,遵循 MVC 设计模式的框架,采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS&…

新能源汽车的发展

目录 1.什么是新能源 2.什么是新能源汽车 3.新能源汽车的优点 4.新能源汽车的危害 5.新能源汽车未来的发展 1.什么是新能源 新能源是指与传统能源(如化石燃料)相比,更具可再生性、清洁性和低碳排放的能源形式。它主要通过利用自然资源和可…

rust学习-面向对象

面向对象编程(Object-Oriented Programming,OOP) 封装细节 main.rs use rust_demo::AveragedCollection;fn main() {let mut ac AveragedCollection::new();println!("ac{:?}", ac);ac.add(3);ac.add(5);ac.add(7);println!(&…

Vue如何配置eslint

eslint官网: eslint.bootcss.com eslicate如何配置 1、选择新的配置: 2、选择三个必选项 3、再选择Css预处理器 4、之后选择处理器 5、选择是提交的时候就进行保存模式 6、放到独立的配置文件上去 7、最后一句是将自己的数据存为预设 8、配合console不要出现的规则…

【Java中的Thread线程的简单方法介绍和使用详细分析】

文章目录 前言一、run() 和 start() 方法二、sleep() 方法三、join() 方法总结 前言 提示:若对Thread没有基本的了解,可以先阅读以下文章,同时部分的方法已经在如下两篇文章中介绍过了,本文不再重复介绍!!…

Java: Commons-io

Commons-io是apache开源基金组织提供的一组有关IO操作的开源工具包。 1.作用 提高IO流的开发效率。 2.FileUtils类(文件夹/文件) 1.常见方法 static void copyFile(File srcFile,File destFile): 复制文件static void copyDirectory(Fil…

【Luogu】 P3665 [USACO17OPEN] Switch Grass P

题目链接 点击打开链接 题目解法 首先给出 2 个结论: 最接近的不同颜色的点一定是相邻的点 证明:假设最接近的不同颜色的点 ( u , v ) (u,v) (u,v) 不相邻,那么 u , v u,v u,v 之间的路径中必有相邻的不同颜色点 ( u ′ , v ′ ) (u,v…

在nginx上部署nuxt项目

先安装Node.js 我安的18.17.0。 安装完成后,可以使用cmd,winr然cmd进入,测试是否安装成功。安装在哪个盘都可以测试。 测试 输入node -v 和 npm -v,(中间有空格)出现下图版本提示就是完成了NodeJS的安装…

【js Call、apply与bind 区别】

JavaScript 中的 Call、apply 和 bind 都是用来改变函数的执行上下文(即 this 指向)的方法,但它们之间有些区别: Call 和 apply Call 和 apply 都是 Function.prototype 的方法。它们的作用是改变函数的 this 指向,并…

electron 生成 arm64 的包

vue electron:https://blog.csdn.net/qq1195566313/article/details/131713875 打包配置修改如下 electronBuilder.build({config: {appId: com.example.app,productName: vite-electron,directories: {output: path.join(process.cwd(), "release"), …

Windows OS CMD 常用工具 の 命令合集

# First Of All 每次想要修改环境变量都要按部就班点开系统属性、高级系统设置、环境变量。这种操作实在是太繁琐了,对于我一个懒人来讲实在是 忍无可忍 。如果可以使用 WINR 或 CMD 直接打开系统内的一些工具,是不是就可以节省很多时间;是不…

【node.js】01-fs读写文件内容

目录 一、fs.readFile() 读取文件内容 二、fs.writeFile() 向指定的文件中写入内容 案例:整理txt 需求: 代码: 一、fs.readFile() 读取文件内容 代码: //导入fs模块,从来操作文件 const fs require(fs)// 2.调…

Elasticsearch查询裁剪

如果source有成千上百个字段,查询的数据没法看 某些敏感字段不能随意展示 响应数据较大影响网络带宽 查看文档信息 查看ffbf索引id为123的文档信息 GET /ffbf/_doc/123返回结果 {"_index" : "ffbf","_type" : "_doc","_id&qu…

【雕爷学编程】Arduino动手做(173)---SG90舵机双轴云台模块

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&am…

windows配置anaconda环境变量

windows 配置 anaconda 环境变量,可以做到 cmd 中调用 conda 命令,不必每次都去找 Anaconda Prompt 文章目录 1. 找到Anaconda的安装位置2. 配置系统环境变量2.1 一步到位2.1 或者手动打开2.2 配置环境变量 3. 检查 1. 找到Anaconda的安装位置 默认安…

kafka面试题

kafka基本概念 Producer 生产者:负责将消息发送到 BrokerConsumer 消费者:从 Broker 接收消息Consumer Group 消费者组:由多个 Consumer 组成。消费者组内每个消费者负责消费不同分区的数据,一个分区只能由一个组内消费者消费&am…

C++[第十七章]--模板引入

模板引入 文章目录 模板引入1、函数模板格式2、使用3、参数推导过程有限的类型转换苛刻的类型匹配推导示例1、函数模板 建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来表达。这个通用函数就称为函数模板 格式 template<类型参数表> 返回值 函…

Vue中TodoList案例_动画

MyItem.vue : 主要是引入了import animate.css样式库&#xff0c;animate.css样式库配置见上一篇文章animate.css样式库&#xff0c;然后再li标签外套了transition标签&#xff0c;引用了name里面的名称是animate.css拿过来的&#xff0c;绑定了enter-active-class和leave-act…