自4.1以后,MySQL增强了对字符集的支持。
名词解释:
—————————————————–
字符集(character set)是一套符号和编码。
而校对(collation)是在该字符集下,用于比较字符的一个规则。
—————————————————–
对于数据库,有四种级别的编码和整理设定:
1. server
2. database
3. table
4. column
SQL标准只定义了server和database级别的字符集,MySQL在此基础上,增加了对table和column字符集的支持。下面是相应的语法:
1. server
————–
–character-set-server
–collation-server
编译时指定服务器编码
shell> ./configure –with-charset=latin1
shell> ./configure –with-charset=latin1 \
–with-collation=latin1_german1_ci
2. database
————–
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]
eg: CREATE DATABASE db_name CHARACTER SET latin1 COLLATE latin1_swedish_ci;
3. 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]
eg: CREATE TABLE t1 ( … ) CHARACTER SET latin1 COLLATE latin1_danish_ci;
* The table character set and collation are MySQL extensions; there are no such things in standard SQL.
4. column (only available for CHAR, VARCHAR and TEXT)
————–
col_name {CHAR | VARCHAR | TEXT} (col_length)
[CHARACTER SET charset_name] [COLLATE collation_name]
eg:
CREATE TABLE Table1
(
column1 VARCHAR(5) CHARACTER SET latin1 COLLATE latin1_german1_ci
);
1. 客户端以什么字符集来发送SQL命令?
character_set_client
2. 当服务器接收到SQL命令时,它会将其转换成什么字符集?
character_set_connection and collation_connection
服务器将客户端发送的SQL命令从character_set_client转换到character_set_connection
在进行字符串比较时,collation_connection将起作用。
但是在进行column中字符串比较时,collation_connection将不起作用,因为column有自己的collation。
3. 服务器将以什么字符集发送 给果/错误信息 给客户端?
character_set_results
---------------------------------
有两个语句可以改变connection character set:
1. SET NAMES ‘charset_name’;
2. SET CHARACTER SET charset_name;
SET NAMES告诉服务器客户端将使用什么样的字符集来发送SQL命令,也同时指定服务器返回给客户端所使用的字符集。
SET NAMES ‘x’ 等效于:
SET character_set_client = x;
SET character_set_results = x;
SET character_set_connection = x;
(注:SET character_set_connection = x; 语句同时也自动指定了字符集x的默认collation为 collation_connection的值,但也可以用 SET NAMES ‘charset_name’ COLLATE ‘collation_name’来提定你想使用的collation。)
SET CHARACTER SET和SET NAMES作用相似,但它将连接的字符集和collation设置为默认数据库的字符集和collation。
SET CHARACTER SET x 等效于:
SET character_set_client = x;
SET character_set_results = x;
SET collation_connection = @@collation_database;
(注:SET collation_connection同时也会自动设置character_set_connection。)
如果不希望MySQL在返回结果时进行转换,可以使用SET character_set_results = NULL;语句
相关推荐
这个文件用于设置服务器的参数,如端口号、数据存储路径、字符集等。 3. **配置步骤**: - **修改配置文件**:打开`my.ini`,找到`[mysqld]`部分,根据系统需求调整参数。例如,`datadir`定义数据存储位置,`port`...
6. **Unicode支持**:MySQL5.0全面支持Unicode,可以处理多种语言和字符集,适应全球化应用的需求。 7. **XML支持**:提供了XML函数,可以方便地进行XML文档的读写,增强了与XML应用的集成能力。 8. **性能提升**...
根据提供的文档内容,我们可以归纳总结出MySQL 5.0中一系列重要的命令及其使用方法。以下是对这些命令的详细解析: ### 一、打开连接 **命令格式:** ``` mysql –h <url> –u <username> –p ``` **参数说明:*...
- **安装过程**:安装过程中,需要配置服务器的启动选项,如端口号、默认字符集以及数据存储位置。 - **安全设置**:安装后,应立即进行安全设置,包括设置root用户的强密码、删除匿名用户、禁用远程root登录等。 ...
- 其他选项:如字符集、连接超时等,可以根据实际情况调整。 5. **测试连接**:配置完成后,记得测试数据源的连接性,确保所有设置正确无误。 6. **使用数据源**:现在,任何支持ODBC的应用程序都可以使用这个...
3. **人工选择的默认字符集/校对规则 (Manual Selected Default Character Set/Collation)**:允许用户手动选择字符集,如GB2312、GBK等。 #### 八、Windows选项 1. **Windows服务**:将MySQL配置为Windows服务,...
1. **字符集乱码问题**: - 使用 JDBC 方式连接 MySQL 数据库时,需传递合适的参数来解决乱码问题。 - 示例:`jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=UTF-8` 2. **权限问题**: -...
- 支持Unicode字符集(如UTF-8),使MySQL 5.0能够处理多种语言的数据。 11. **日志系统** - 错误日志和二进制日志都有所改进,便于故障排查和数据恢复。 12. **API支持** - MySQL 5.0提供了多种语言的API,如C...
### Linux下安装MySQL 5.0 #### 测试环境: - 操作系统:CentOS 5.2 - MySQL版本:5.0.67 #### 第一步:下载mysql-5.0.67.tar.gz 在进行安装之前,首先需要获取MySQL 5.0.67的源代码包。可以通过MySQL官方网站或...
7. **字符集支持**:MySQL 5.0支持多种字符集,包括Unicode(UTF-8),满足了多语言环境的需求。 8. **性能优化**:通过索引、分区等手段,MySQL 5.0能够优化查询性能,提高数据处理速度。 9. **网络功能**:MySQL...
6. **Unicode支持**:MySQL 5.0加强了对Unicode字符集的支持,包括UTF-8,增强了多语言环境下的数据处理能力。 7. **更好的备份和恢复工具**:MySQL 5.0提供了更强大的备份选项,如`mysqldump`,使得数据库的备份和...
MySQL 5.0在处理非ASCII字符(如中文)时可能会遇到编码问题,常见的解决方案包括设置正确的字符集(如`utf8`或`gbk`)在数据库、表和字段级别,以及在连接数据库时指定相应的字符集参数。 在使用这个MySQL 5.0绿色...
MySQL教程主要涵盖MySQL5.0的安装、数值类型、常用命令以及通过JDBC访问数据库的相关知识。MySQL是一种广泛使用的开源关系型数据库,由瑞典MySQL软件公司开发,具有高性能、安全性和可扩展性等特点。它的优点包括...
在MySQL 5.0中,乱码问题是一个常见的困扰,特别是在处理中文字符集时。这个问题可能出现在多种场景下,如数据库表结构设置、数据插入、查询显示等环节。"data too long for column"错误提示则表明尝试存储的数据...
本文将要为您介绍的是修改MySQL默认字符集编码,具体操作过程: 好记心不如烂笔头,很多东西当时没记下来,过了忘了,下次用到时又得浪费好多时间才能解决。又遇到修改MySQL默认字符集编码的问题,折腾了半天解决...
8. **Unicode支持**:全面支持UTF-8字符集,满足多语言环境的需求。 9. **优化的查询缓存**:改进了查询缓存机制,提高了查询响应速度。 10. **XML支持**:MySQL 5.0开始支持XML数据类型,方便XML文档的存储和检索...
文档中提到了设置字符集为"GBK"或"utf8",这两种都是中文环境下常用的字符集。在进行设置时,可以使用"SET NAMES GBK;"或"SET NAMES utf8;"这样的命令来指定字符集。 四、MySQL服务的安装和启动 MySQL服务的安装和...