linux下mysql的基本命令和mysql的字符集/排序方式

在ubuntu上搭建了LAMP,但数据库的操作一直是使用phpmyadmin,这毕竟不是王道,还是要看命令行下的操作的。

安装的时候就设置了管理账户和密码。

 mysql -uroot -p123456”,以密码123456登录root账户。

show databases;",显示数据库。

create database xxxxx;”,建立数据库xxxxx。

  “create database xxxxx default character set utf8 collate utf8_general_ci;",使用特定的字符集和排序方式建立数据库xxxxx。

drop  database xxxxx;",删除数据库xxxxx。

 


 

mysql的字符集(character set)和排序方式(collation)

我们常看到的 utf-8, GB2312, GB18030 都是相互独立的 character set. 即对 Unicode 的一套编码。

那么如何理解 unicode 与 utf8, GB2312 的区别呢?
打个比方,你眼前有一个苹果,在英文里称之为 apple, 而在中文里称之为苹果。
苹果这个实体的概念就是 unicode , 而 utf8, GB2312 可以认为就是不同语言对苹果的不同称谓,本质上都是在描述苹果这个物。
也可以这样理解:全世界的文字就在那里,你看或者不看,你懂或者不懂,它就在那里;现在有人想把这些文字放入到计算机里面,那么就必须使用字节/字/双字等来表示,计算机里面所有的东西都是这么表示的,这个人用字,也就是两个字节来表示全世界每一个字(暂且认为216够了);另一个人也想把这些文字放入到计算机里面,但他用一个字节来表示0-9和a-z等这些数字和字母的,用字或者双字来表示汉字等象形文字。那么,现在就有两套在计算机上表示全世界文字的方法了,当然可以有更多,只要有人想做。
全世界的文字绝大部分都已经收录在unicode中了,unicode就是始终在那里的文字,utf8和gb2312就是两群人做的在计算机里表示unicode的两套方法。

每个character set都会对应一定数量的collation。

collation 名字的规则可以归纳为这两类:

1. <character set>_<language/other>_<ci/cs>

2. <character set>_bin

同一个 character set 的不同 collation 的区别在于排序、字符集对比的准确度(相同两个字符在不同国家的语言中的排序规则可能是不同的)以及性能。

查看mysql中字符集和排序方法的命令是:

show variables like 'character%';"

"show variables like 'collation_%';"

这里部分取自:http://zhongwei-leg.iteye.com/blog/899227

posted @ 2012-04-12 21:17  ray hill  阅读(973)  评论(0编辑  收藏  举报