1.8 补充知识
每次执行指令要进入相应的目录中,麻烦,可以通过环境变量简化操作。
1.8.1 环境变量配置
我的电脑右键——属性——高级
将mysql指令目录地址添加到环境变量的Path值中
这时候就可以在任意目录下使用mysql指令
原理:
1、输入指令后,首先在当前目录下查找,如果当前目录下找不到,就到环境变量的Path中查找
2、Path中有很多目录,从前往后查找
1.8.2 校对集
1、概念:在某种字符集下,字符之间的比较关系,比如a和B的大小关系,如果区分大小写a>B,如果不区分大小写则a<B。比如赵钱孙李大小关系,不同的标准关系不一样
2、校对集依赖与字符集,不同的字符集的的比较规则不一样,如果字符集更改,校对集也重新定义。
3、不同的校对集对同一字符序列比较的结果是不一致的。
4、 可以在定义字符集的同时定义校对集、 语法:
collate = 校对集
例题:
定义两个表,相同字符集不同校对集
mysql> create table stu1(
-> name char(1)
-> )charset=utf8 collate=utf8_general_ci;
Query OK, 0 rows affected (0.05 sec)
mysql> create table stu2(
-> name char(1)
-> )charset=utf8 collate=utf8_bin;
Query OK, 0 rows affected (0.05 sec)
mysql> insert into stu1 values ('a'),('B');
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> insert into stu2 values ('a'),('B');
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
测试:两个表的数据都是有小到大排序
mysql> select * from stu1 order by name; -- 不区分大小写
+------+
| name |
+------+
| a |
| B |
+------+
2 rows in set (0.08 sec)
mysql> select * from stu2 order by name; -- 区分大小写
+------+
| name |
+------+
| B |
| a |
+------+
2 rows in set (0.00 sec)
小结校对集规则:
_bin:按二进制编码比较,区别大小写
_ci:不区分大小写