1:show databases
这里第一个information_schema代表的是数据库的基本系统信息,数据库名称,表的名称,存储权限
第二个是mysql,保存的是我们数据库运行的时候需要的系统信息,比如数据库文件夹 当前的字库集
第三个是performance用来监控我们的性能指标的
第四个sys,也是存储性能指标,方便我们开发人员监控性能的。
到时候后面下篇我们再用这些表。
现在我们是不是可以创建一个新的数据库tc
细节的语法规则我们后面会讲,现在大家就看个热闹就可以。
然后我们再一次show database 就可以看见我们刚才创建的数据库就在这了。
我们数据库的主要结果就是我们的表对吧,我们也创建一个表,我们想创建一个员工表,是不是需要一个id和名字 一个的类型是int一个的类型是字符串varchar
create table employees(id int,name varchar(15))
我们就会发现报错了,因为系统不知道你要把数据存到那个数据库里,所以我们要先用use代码选择一个数据库
use 数据库名称;
这次就成功了,我们也可以show tables查看数据库里有多少个表,然后使用select * from employees查看表里有多少数据
可以发现有一个表,没有数据.
那么我们就可以插入个数据进去insert into employees values(1002,'tom');insert into employees values(1003,'qt');
我们再使用 select查看,是不是就可以发现里面有2条记录了
到这里我们就可以在5.7版本里进行的操作和9.0都是一样的,接下来我们要进行的操作就会有区别了,现在我们再进行insert into employees values(1004,'晴天');我们使用中文了这里就会失败
为什么会失败呢,这是因为字符集的问题,我们使用show create table 'employees',可以发现
因为mysql是瑞典的公司造的,他们默认的就是欧洲的拉丁字符集,所以就会报错,所以我们要用utf8,包含了常见的全部数值
show variables like ‘character_%’我们就看去查看全部内容使用的字符串是什么了,
可以发现我们只要不指定字符集,就会导致不管是创建数据库还是服务内容,都是是使用的拉丁字符集。所以我们要对这个字符集进行修改,其他的几个内容下篇我们会解释。我们会从客户端请求的时候具体说明。
show variables like ‘collation_%‘比较规则这里的比较规则,因为字符集里的顺序是有大小之分的,我们可以发现
这里面的比较规则就是使用的拉丁字符集,那么我们现在要把5.7版本的字符集改掉,那我们怎么修改呢。我们就要用到一个配置文件,my.ini,它的位置在哪呢,不知道各位有没有发现1它的位置就在,default-character-set=utf8 #默认字符集 [mysqld] # 大概在76行左右,在其下添加 ... character-set-server=utf8 collation-server=utf8_general_ci
在这两个位置修改一下字符集,然后重启一下我们的服务,我们现在用的是5.7,重启之后先登录再次查看我们的默认字符集和比较字符默认字符集
show variables like ‘character_%’,这时我们就发现已经变成utf8mb4和utf8mb3,4和3代表使用4个和3个字节表示字符这个细节我们不用管。然后我们再看一下比较的默认字符
是不是都变成了utf8的默认字符,和支付集一一对应。
我们再看一下我们的数据库show databases,现在既然我们改了,我们再添加字符是不是就没事啦。use tc ;SELECT * from employees
insert into employees values(1003,杰瑞');我们会发现还是不行
因为我们改之前用的拉丁,现在所以它也还是拉丁所以不行
我们看看它的结果,show create table employees
我们当初造这个表的时候是拉丁,所以现在也还是拉丁,我们当然可以修改,但是比较麻烦,我们不如直接drop database tc;我们直接把这个数据库删掉了,然后再show database tc
create database dbtest1
showcreate database dbtest1
这时我们就会发现我们使用的就是默认的utf8了,我们下节还会接着讲这个字符集
use dbtest1
我们继续create table employees (id int,name varchar(15))
我们再show一下create table employees
现在在insert into table values(1000,‘晴天’),
这个时候我们就是utf8的字符集,所以我们就可以放心大胆的去插入了
小结:由于5.7用的是拉丁的默认字符集,所以我们要用my.ini中的配置默认字符集修改为utf8,然后重启字符。
现在我们简单的说一下9.0版本
我们用uroot-p登录一下
使用 show variables like ‘collation_%’
查看比较字符集的默认字符
show variables like 'character_%'
查看字符集的默认字符
然后show databases
create databases dbtest2
use dbtest2
create table t1(id int,name varchar(15))
show create table t1
show create database dbtest2,
可以发现里面的默认都是utf8,
然后insert into table t1 values(1005,'晴天)
我们就可以发现9.0版本是默认utf8是现在的一个升级版。
如果装5.7都要进行这个操作