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_%\’;“