[mysql]mysql的演示使用
mysql5.7的遗留问题
mysql的演示使用
几个常见操作
1:show databases

这里第一个information_schema代表的是数据库的基本系统信息,数据库名称,表的名称,存储权限
第二个是mysql,保存的是我们数据库运行的时候需要的系统信息,比如数据库文件夹 当前的字库集
第三个是performance用来监控我们的性能指标的
第四个sys,也是存储性能指标,方便我们开发人员监控性能的。
到时候后面下篇我们再用这些表。
现在我们是不是可以创建一个新的数据库tc

细节的语法规则我们后面会讲,现在大家就看个热闹就可以。
然后我们再一次show database 就可以看见我们刚才创建的数据库就在这了。

报错情况1:未使用数据库
我们数据库的主要结果就是我们的表对吧,我们也创建一个表,我们想创建一个员工表,是不是需要一个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,'晴天');我们使用中文了这里就会失败
![]()
报错情况2:字符集异常
为什么会失败呢,这是因为字符集的问题,我们使用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都要进行这个操作
更多推荐
所有评论(0)