字符集:为字母和符号的集合
编码:为某个字符集成员内部表示(数字代码表示)
校对:为规定字符如何比较的指令
校对对区分大小写和排序有着非常重要的作用。
使用何种字符集和校对的决定在服务器、数据库和表级进行。
使用字符集和校对顺序
查看所支持的字符集完整列表:
   
  1. SHOW CHARACTER SET;
这条语句显示所有可用的字符集以及每个字符集的描述和默认校对。
   
  1. SHOW COLLATION;
显示所有可用的校对,以及它们适用的字符集。可以看到有的字符集具有不止一种校对。
而且许多校对出现两次,一次区分大小写(由_cs表示),一次不区分大小写(由_ci表示)
通常系统管理在安装时定义一个默认的字符集和校对。此外,也可以在创建数据库时,指定默认的字符集和校对。
为了确定所用的字符集和校对,可以使用以下语句:
   
  1. SHOW VARIABLES LIKE 'character%';
  2. SHOW VARIABLES LIKE 'collation%';
实际上,字符集很少是服务器范围(甚至数据库范围)的设置。不同的表,甚至不同的列都可能需要不同的字符集,而且两者都可以在创建表时指定。
   
  1. CREATE TABLE mytable (
  2. column1 INT NOT NULL AUTO_INCREMENT,
  3. column2 VARCHAR (10) NOT NULL,
  4. PRIMARY KEY (column1)
  5. ) DEFAULT CHARACTER
  6. SET hebrew COLLATE hebrew_general_ci;
MySQL如下确定使用什么样的字符集和校对
如果指定CHARACTER SET和COLLATE两者。一般,MySQL如下确定使用什么样的字符集和校对。
如果指定CHARACTER SET和COLLATE两者,则使用这些值。
如果只指定CHARACTER SET,则使用此字符集及默认的校对(如SHOW CHARACTER SET的结果中所示)
如果即不指定CHARACTER SET,也不指定COLLATE,则使用数据库默认。
除了能制定字符集和校对的表范围外,MySQL还允许对每个列设置它们,如下:
   
  1. CREATE TABLE mytable2 (
  2. column1 INT NOT NULL AUTO_INCREMENT,
  3. column2 VARCHAR (10),
  4. column3 VARCHAR (10) CHARACTER SET latin1 COLLATE latin1_general_ci,
  5. PRIMARY KEY (column1)
  6. ) DEFAULT CHARACTER
  7. SET hebrew COLLATE hebrew_general_ci;
这里对整个表以及一个特定的列指定了CHARACTER SET和COLLATE。
校对在对用ORDER BY子句检索出来的数据排序时起重要的作用。如果你需要用与创建表时不同的校对顺序排序特定的SELECT语句,可以在SELECT语句自身中进行:
   
  1. SELECT
  2. *
  3. FROM
  4. customers
  5. ORDER BY
  6. cust_address,
  7. cust_name COLLATE utf8_general_ci;
此SELECT使用COLLATE指定一个备用的校对顺序(可设置为区分大小写或不区分大小写),这显然将会影响到结果的排序的次序。
注意:列中选择COLLATE有可能会出现错误,一般来说都是选择字符集对应的校对模式不对,只需要查询相应的模式即可,比如,此次的character是utf8,则可以如下返回对应的字符集对应的校对模式:
   
  1. SHOW COLLATION LIKE 'utf8%';
SELECT的其他COLLATE子句
除了ORDER BY子句中使用以外,COLLATE还可以用于GROUP BY,HAVING,聚集函数、别名等。
如果需要,串可以在字符集之间进行转换。使用Cast()或Convert()函数。
   
  1. SELECT
  2. *
  3. FROM
  4. customers
  5. ORDER BY
  6. cust_address,
  7. CONVERT (cust_name USING latin1) COLLATE latin1_general_cs;

MySQL必知必会-23MySQL全球化和本地化相关推荐

  1. mysql必知必会_MySQL必知必会

    MySQL必知必会 联结的使用, 子查询, 正则表达式和基于全文本的搜索, 存储过程, 游标, 触发器, 表约束. 了解SQL 数据库基础 电子邮件地址薄里查找名字时, 因特网搜索站点上进行搜索, 验 ...

  2. mysql日期维表sql文件_《MySQL必知必会》笔记(SQL练习+建表语句)

    站在巨人的肩上 Standing On Shoulders Of Giants 部分转自:https://www.jianshu.com/p/294502893128 https://blog.csd ...

  3. MySQL必知必会pdf

    下载地址:网盘下载 内容简介  · · · · · · <MySQL必知必会>MySQL是世界上最受欢迎的数据库管理系统之一.书中从介绍简单的数据检索开始,逐步深入一些复杂的内容,包括联结 ...

  4. MySQL必知必会笔记(一)基础知识和基本操作

    第一章  了解MySQL     数据库       保存有组织的数据的容器.(通常是一个文件或一组文件) 人们经常使用数据库这个术语代替他们使用的软件.这是不正确的,确切的说,数据库软件应称为DBM ...

  5. MySQL必知必会 代码+说明 全书整理

    前不久收获一本<mysql必知必会>实体书,这周得空将整本书再次回顾了下. 整理了书中全部的代码,加上了必要的语句说明. 我所使用的软件版本:mysql workbench 8.0.15 ...

  6. 读书笔记系列1——MySQL必知必会

    读书笔记系列1--MySQL必知必会 文章目录 读书笔记系列1--MySQL必知必会 MySQL官方文档:https://dev.mysql.com/doc/ 第一章 数据库基础 *2021.11.2 ...

  7. 30 分钟读完《MySQL 必知必会》

    第一章 了解 SQL 介绍几个数据库的概念 数据库(database) 通过DBMS创建和操纵的保存有组织的数据的容器(通常是一个文件或一组文件). 数据库软件/数据库管理系统(DBMS)访问数据库, ...

  8. 《MySQL必知必会》学习笔记十(增删改语句使用)------掌握部分

    MySQL必知必会知识预览 第一章--了解SQL 第二章--MySQL简介 第三章--使用MySQL 第四章--检索数据 第五章--排序检索数据 第六章--过滤数据 第七章--数据过滤 第八章--用通 ...

  9. MySQL必知必会教程:深入理解MySQL技术内幕

    2019独角兽企业重金招聘Python工程师标准>>> MySQL必知必会教程:深入理解MySQL技术内幕 作为最流行的开源数据库软件之一,MySQL数据库软件已经是广为人知了.当前 ...

  10. mysql必知必会_《MySQL必知必会》学习小结

    关于SQL,之前通过sqlzoo的题目,完成了入门,也仅仅是入门而已. 最近都在忙着投简历和找新的数据分析项目做(为了练python和面试的时候有的聊),所以SQL放了一段时间没练.目前的工作用不到, ...

最新文章

  1. 什么是schema?
  2. mysql数据库集群技术_使用MySQL-Cluster搭建MySQL数据库集群
  3. ScrollView中使用ListView
  4. 晨风机器人怎么买奴隶_潮牌复刻和正品该怎么抉择???带你了解了解
  5. ERROR in ./src/css/1.scss 1:2
  6. JavaScript中的(内置)方式来检查字符串是否为有效数字
  7. Java equalsIgnoreCase() 方法
  8. 水氢发动机应该叫氢能发动机、铝水制氢发动机
  9. 【设计配色宝典】设计师必备七色配色宝典,附AI源文件!
  10. 你就是北上广深的树先生
  11. 傅里叶变换、短时傅里叶变换和小波变换的概述
  12. 【pytorch图像分类】AlexNet网络结构
  13. HTML标签之文档结构标签
  14. 仓储管理之计价方法——个别计价法
  15. 熊海CMS 1.0代码审计漏洞集合
  16. centos7 搭建Spark On Yarn集群
  17. 前端使用lottie-web,使用AE到处的JSON动画贴心教程
  18. 织梦5.7sp1最新问题:后台不显示编辑器
  19. [译]Node v5.1.0 (Stable)发布
  20. 八一八cvs vss svn和git比较

热门文章

  1. 彻底搞懂SpringAOP中的@within和@target
  2. 记录自己第一个java学习博客
  3. mysql安装 解压版
  4. 需不需要学习编程,成都编程培训怎样?——网优谷
  5. 四省联考圆锥曲线解答
  6. 朴素UNIX之-打开历史
  7. python天天向上解析_用Python编程帮你验证“好好学习,天天向上”的重要性!
  8. 展锐芯片之GPU频率(一百一十四)
  9. zay大爷的神仙题目 D1T2-腐草为萤
  10. 利用autohotkey实现一键切换输入法的“中文时使用英文标点“功能