字符集是一套符号和编码
校对规则是在字符集内比较字符的一套规则
举例子说明:
假设我们有一个字母表使用了四个字母:‘A’、‘B’、‘a’、‘b’。我们为每个字母赋予一个数值:‘A’=0,‘B’= 1,‘a’= 2,‘b’= 3。字母‘A’是一个符号,数字0是‘A’的编码,这四个字母和它们的编码组合在一起是一个字符集。
假设我们希望比较两个字符串的值:‘A’和‘B’。比较的最简单的方法是查找编码:‘A’为0,‘B’为1。因为0 小于1,我们可以说‘A’小于‘B’。我们做的仅仅是在我们的字符集上应用了一个 校对规则。校对规则是一套规则(在这种情况下仅仅是一套规则):“对编码进行比较。”我们称这种全部可能的规则中的最简单的 校对规则为一个binary(二元)校对规则。
在实际生活中,大多数字符集有许多字符:不仅仅是‘A’和‘B’,而是整个字母表,有时候有许多种字母表,或者一个东方的使用上千个字符的书写系统,还有许多特殊符号和标点符号。并且在实际生活中,大多数 校对规则有许多个规则:不仅仅是大小写不敏感,还包括重音符不敏感(“重音符” 是附属于一个字母的符号,象德语的‘Ö’符号)和多字节映射(例如,作为规则‘Ö’=‘OE’就是两个德语 校对规则的一种)。
MySQL5.1能够做这些事情:
· 使用多种字符集来存储字符串
· 使用多种校对规则来比较字符串
· 在同一台服务器、同一个数据库或甚至在同一个表中使用不同字符集或校对规则来混合字符串
· 允许定义任何级别的字符集和校对规则
在这些方面,MySQL5.1不仅比MySQL4.1以前的版本灵活得多,而且比其它大多数数据库管理系统超前许多。但是,为了有效地使用这些功能,你需要了解哪些字符集和 校对规则是可用的,怎样改变默认值,以及它们怎样影响字符操作符和字符串函数的行为。
分享到:
相关推荐
简要说明 字符集和校对规则 字符集是一套符号和编码。校对规则是在字符集内用于比较字符的一套规则。 MySql在collation提供较强的支持,oracel在这方面没查到相应的资料。 不同字符集有不同的校对规则,命名约定:以...
精通MySQL字符集与校对集,再也不会为乱码而心烦意乱了
MySQL字符编码及乱码解决方案 · 使用多种字符集来存储字符串 · 使用多种校对规则来比较字符串 · 在同一台服务器, 同一个数据库或甚至在同一个表中使用不同字符集或校对...· 允许定义任何级别的字符集和校对规则
此外,还要注意在使用字符串类型(如VARCHAR)时,根据实际需求选择适当的字符集和校对规则,以确保正确的数据存储和查询。 使用最小化的数据类型:选择最小化的数据类型来存储数据,以减少存储空间的占用和提高...
mysql创建数据库和表,在创建表时,应该考虑到数据的完整性和安全性,合理设计表结构和选择合适的数据类型。...如果你的MySQL服务器设置了字符集和校对规则,确保在创建数据库和表时使用正确的字符集和校对规则。
4.2020-开年标杆班-day03-MySQL-字符集和校对规则 5.2020-开年标杆班-day03-MySQL-数据类型-1 6.2020-开年标杆班-day03-MySQL-数据类型-2 7.2020-开年标杆班-day03-MySQL-数据类型-3 8.2020-开年标杆班-day...
7.9.3字符集和校对规则如何影响查询296 7.10全文索引299 7.10.1自然语言的全文索引300 7.10.2布尔全文索引302 7.10.3MySQL5.1中全文索引的变化303 7.10.4全文索引的限制和替代方案304 7.10.5全文索引的配置和...
2.校对规则命名的习惯 (相关字符集)_(地区语言名)_(cs大小写敏感/ci大小写不敏感/bin二元) 3.每个字符集有一个默认的校对规则 服务器的字符集默认值是 latin1 校对为 latin1_swedish_ci 数据库的字符集默认为...
MySQL支持的数据类型很多...例如,整形比字符操作代价更低,因为字符集和校对规则(排序规则)使字符比较比整形更复杂。比如用MySQ内建的类型而不是使用字符串来存储日期和时间、应该用整形存储IP地址。 尽量避免null 如
(每种字符集可以有多种校对规则,但都有一个默认的校对规则) mysql数据库可以通过设定字符集,来使用对应的字符集和检验规则来组织字符。就像是解读一片文章的时候用那种语言来解析。例如:中国人常使用的utf8编码...
任何一个给定的字符集至少有一个校对规则,它可能有几个校对规则。要想列出一个字符集的校对规则,使用SHOW COLLATION语句。 校对规则一般有这些特征: 两个不同的字符集不能有相同的校对规则。 每个字符集有...
create database [if not exists] 数据库名 [character set=字符集] [collate=校对集]; character set:用来设定数据库中的字符数据所要使用的字符编码,一些固定的名字,常用有utf8,gbk,gb2312。 也可以写成...
数据库和表的创建和管理;...[[default] collate 校对规则名] 说明: []为可选项 其他关键词不区分大小写 显示字符集语法: show charset; ;MySQL命令行登录和显示数据库 MySQL数据库的创建(语句模式);谢谢
[[default] character set 字符集名] [[default] collate 校对规则名] 说明: 若数据库名省略,则表示修改当前数据库;drop database [if exists] 数据库名 说明: []是可选项,代表“如果存在”则删除,对应于创建中...
2。退出:quit/exit. ...5.显示数据库:show databases; 6.创建数据库:create database database_name;...8. 创建一个使用utf-8字符集,并带校对规则的mydb3数据库 9. 删除数据库: drop database mydb3;
问题是这样的: 一张test的表,字符集采用的latin1。 select to_id from test where to_id=’cn象_王’; +—————+ | to_id | +—————+ | cn陶_陶 | | cn象_王 | +—————+ 2 rows in set (0.00 sec) 取cn...
*创建一个使用utf8字符集,并带校对规则的mydb3数据库。 create database mydb3 character set utf8 collate utf8_bin ; 2.查看数据库 show databases;查看所有数据库 show create database db_name; 查看...
1. 数据表的创建 比如说创建一个test_db的数据表,结构如下 # 创建表 test_db CREATE TABLE test_db ( id INT(11), ...该语句还可以看到当前表的详细语句、存储引擎、字符集、校对规则 3. 更新数据表 3.1
下面摘录一下Mysql 5.1中文手册中关于utf8_unicode_ci与utf8_general_ci的说明: 当前,utf8_unicode_ci校对规则仅部分支持Unicode校对规则算法。一些字符还是不能支持。并且,不能完全支持组合的记号。这主要影响...