1.数据库
创建数据库
1.1.1默认创建数据库
create database 数据库名
解释:使用create命令创建一个数据库,database关键字后面接自定义数据库名字,默认UTF-8编码(utf8_ general_ ci)
create database helloworld;
1.1.2指定字符集编码建数据库
create database 数据库名 charset = 字符编码 ;
解释:使用create命令创建一个数据库,database关键字后面接自定义数据库名字,用charset关键字指定字符编码
create database helloword charset=utf8;
1.1.3指定字符集编码并附带校验规则
create database 数据库名 charset = 字符集 collate 校验编码;
解释:使用create命令创建一个数据库,database关键字后面接自定义数据库名字,用charset关键字指定字符编码然后collate关键字指定校验规则
create database db3 charset=utf8 collate utf8_general_ci;
1.2字符集和校验规则
字符集主要是控制用什么语言。比如utf8就可以使用中文。
校验规则主要是控制数据在读取的时候采用什么规则,比如区不区分大小写。
1.2.1查询系统默认字符集以及校验规则
show variables like ‘ 编码’
解释:使用show关键字展示变量
show variables like 'character_set_database';
show variables like 'collation_database';
1.2.2查询数据库支持的字符集
解释:展示所有字符集
show charset;
1.2.3查询数据库支持的校验规则
show collation;
1.2.4校验规则对数据库的影响
create database 数据库名 collate 校验编码;
解释:在建数据库时指使用collate指定校验编码
- 创建一个数据库,校验规则使用utf8_ general_ ci(不区分大小写)
create database test1 collate utf8_general_ci;
- 创建一个数据库,校验规则使用utf8_ bin(区分大小写)
create database test2 collate utf8_bin;
- 查询
use test1;
create table person(name varchar(20));
insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');
use test2
create table person(name varchar(20));
insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');
不区分大小写的查询以及结果
mysql> use test1;
mysql> select * from person where name='a';
+------+
| name |
+------+
| a |
| A |
+------+
2 rows in set (0.01 sec)
区分大小写的查询以及结果
mysql> use test2;
mysql> select * from person where name='a';
+------+
| name |
+------+
| a |
+------+
2 rows in set (0.01 sec)
- 结果排序
不区分大小写排序以及结果: