MySQL字符集和校对规则
本文对MySQL支持的常规字符集和校对规则作了一个简单的说明,并介绍了MySQL常用字符集变量的含义和设置,字符集变量的不恰当设置有可能导致包括乱码在内的诸多问题。
常规字符集和校对
字符集是一套符号和编码。校对规则是在字符集内用于比较字符的一套规则。MySQL服务器能够支持多种字符集,可以使用SHOW CHARACTER SET语句列出可用的字符集。任何一个给定的字符集至少有一个校对规则,它也可能存在几个校对规则。
如果希望列出一个字符集的校对规则,可以使用SHOW COLLATION语句。例如,如果希望查询以latin1开头的校对规则,可以使用如下语句SHOW COLLATION LIKE 'latin1%'。
校对规则一般有如下特征:
两个不同的字符集不能有相同的校对规则;
每个字符集有一个默认校对规则;
存在校对规则命名约定:它们以其相关的字符集名开始,通常包括一个语言名,并且以_ci(大小写不敏感)、_cs(大小写敏感)或_bin(二元)结束。
字符集和校对规则有四个级别的默认设置:服务器级、数据库级、表级和连接级。
MySQL数据库有一个服务器字符集和一个服务器校对规则,它们均不能为空。在服务器级别,当启动mysqld时,根据使用的初始选项设置来确定服务器字符集和校对规则。可以使用—default-character-set设置字符集,并且可以在字符集后面添加校对规则:--default-collation。
每一个数据库有一个数据库字符集和一个数据库校对规则,它不能够为空。CREATE DATABASE和ALTER 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]
默认数据库的字符集和校对规则可以用作character_set_database和collation_database系统变量。无论何时默认数据库更改了,服务器将设置这两个变量的值。如果没有默认数据库,这两个变量与相应的服务器级别的变量(character_set_server和collation_server)具有相同的值。
每一个表有一个表字符集和一个校对规则,它不能为空。为指定表字符集和校对规则,CREATE TABLE和ALTER TABLE语句有一个可选的子句。
CREATE TABLE tbl_name (column_list)
[DEF
相关文档:
1,将6.0版本的mysql集群软件上传到Linux或是Solaris上,解压
1>,为了方便调用将其改名为mysql,并且放于/usr/local/下
2>,创建连接文件,进入/usr/local/下
ln -s ..../mysql mysql
2,创建组,添加用户
groupadd mysql
useradd -g mysq ......
Mysql 常用函数
ASCII(str)
返回字符串str的第一个字符的ASCII值(str是空串时返回0)
mysql> select ASCII('2');
-> 50
mysql> select ASCII(2);
-> 50
mysql> select ASCII('dete');
- ......
方法一
使用phpmyadmin,这是最简单的了,修改mysql库的user表,不过别忘了使用PASSWORD函数。
方法二
使用mysqladmin,这是前面声明的一个特例。
mysqladmin -u root -p password mypasswd
输入这个命令后,需要输入root的原密码,然后root的密码将改为mypasswd。
把命令里的root改为你的用户名,你就可以改你 ......
源地址: http://www.pcppc.cn/shujuku/mysql/shujuku_163919.html
您正在看的MySQL教程是:MySQL数据库学习笔记。
MySQL数据库学习笔记
(实验环境:Redhat9.0,MySQL3.23.54)
纲要:
一,连接MySQL
二,MySQL管理与授权
三,数据库简单操作
四, ......