数据库之MySQL字符集与数据库操作

目录

字符集

CHRARCTER SET 与COLLATION的关联

CHRARCTER SET

定义

基础操作

        查看当前MySQL Server支持的 CHARACTER SET

        查看特定字符集信息(主要包含默认的COLLATION 与 MAXLEN)

COLLATION

定义

COLLATION后缀

基础操作

        查看MySQL Server支持的COLLATION

MySQL Server 默认的Charset和COLLATION

utf8和utf8mb4的区别

查看MySQL Server当前的Charset和COLLATION

修改MySQL Server默认的Charset和COLLATION

修改my.cnf配置文件,一般在/etc目录下的

        注意:如果出现my.cnf文件无内容解决方法

修改或添加以下内容到 [mysql] 字节中

修改或添加以下内容到 [client] 字节中

重启MySQL服务

登陆MySQL

查看当前的Charset和COLLATION

指定MySQL Server的Charset和Collation

MySQL数据库操作

查看

语法格式

功能

解析自带数据库

查看所创建的数据库

创建

语法格式

功能

案例

删除

语法格式

功能

案例

切换

语法格式

功能

案例

查看当前连接的数据库

查看数据库版本

查看当前用户

执行对应系统命令

语法格式

作用

案例


字符集

        MySQL字符集包括字符集(CHARACTER)和校对规则(COLLATION)

CHRARCTER SET 与COLLATION的关联

  • MySQL服务器支持多种字符集(Character Set)
  • 每个字符集至少有一个Collation
  • 大部分字符集都有多个Collation
  • 每个字符集都有一个默认的Collation
  • 两个不同的字符集不会有相同的Collation
  • MySQL可以在服务器、数据库、表或字段级别指定使用的字符集

CHRARCTER SET

定义

        Chrarcter set --- 一套字符及其编码,即字符集(一般也是用Charrset这一词)

基础操作

查看当前MySQL Server支持的 CHARACTER SET

mysql> show character set;

mysql> show charset;

mysql> show char set;

mysql> select * from information_schema.character_sets;

四种方法任意一种即可

查看特定字符集信息(主要包含默认的COLLATION 与 MAXLEN)

        此处查找所有关于utf的字符集

mysql> show character set like 'utf%';

mysql> show charset like 'utf%';

mysql> show char set like 'utf%';

mysql> select * from information_schema.character_sets where CHARACTER_SET_NAME like 'utf%';


四种方法任意一种即可

COLLATION

定义

      Collation --- 在字符集内用于比较排序字符的一套规则,即效验规则 

COLLATION后缀

SUFFIX(后缀)MEANING(意义)
_aiAccent-insensitive(不区分重音,相当于不知道关键字)
_asAccent-sensitive(区分重音)
_ciCase-insensitive(不区分大小写)
_csCase-sensitive(区分大小写)
_ksCase-sensitive(区分假名)
_binBinary(二进制)

基础操作

查看MySQL Server支持的COLLATION

mysql> SHOW COLLATION WHERE Charset = 'utf8mb4';

MySQL Server 默认的Charset和COLLATION

  • <=5.7 doc MySQL Server 5.7或之前版本默认的Charset和Collation是: latin1 和 latin1_swedish_ci
  • 8.x doc MySQL Server 8.x(当前版本)默认的Charset和Collation是: utf8mb4 和 utf8mb4_0900_ai_ci

utf8和utf8mb4的区别

        mb4 000 就是most bytes 4的意思,专门用来兼容四字节的unicode

        utf8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常了,所以缺少 Emoji 表情,很多不常用的汉字,以及任何新增的 Unicode 字符

        也就相当于UTF8mb4是我们正常情况下所熟知的UTF-8

查看MySQL Server当前的Charset和COLLATION

mysql> show variables like 'character_set_server';

mysql> show variables like 'collation_server';

mysql> select @@character_set_server, @@collation_server;

修改MySQL Server默认的Charset和COLLATION

修改my.cnf配置文件,一般在/etc目录下的

[root@localhost ~]# vim /etc/my.cnf

注意:如果出现my.cnf文件无内容解决方法

        打开/etc/mysql/my.cnf 发现里面没有[mysql]、[mysqld]等内容 ,但却指向了其他地方的配置文件

        1.查找当前所指目录

[root@localhost /]# ls /etc/my.cnf.d/

        2.查看[MySQLD]字节所属地,我的在mysql-default-authentication-plugin.cnf 中

[root@localhost /]# vim /etc/my.cnf.d/mysql-server.cnf 

        3.查看[client]字节所属地,我的在client.cnf文件中

[root@localhost /]# vim etc/my.cnf.d/client.cnf 

修改或添加以下内容到 [mysql] 字节中

default_character_set=utf8

 

修改或添加以下内容到 [client] 字节中

default-character-set=utf8

重启MySQL服务

[root@localhost /]# systemctl restart mysqld.service 

 未出现报错,则表示重启成功

登陆MySQL

[root@localhost /]# mysql -uroot -p

查看当前的Charset和COLLATION

mysql> select @@character_set_server, @@collation_server;

指定MySQL Server的Charset和Collation

创建一个指定Charset和Collation的数据库
create database 数据库名 default character set 字符集 collate collation;

mysql> CREATE DATABASE SECOND_DB DEFAULT CHARACTER SET GBK COLLATE  GBK_CHINESE_CI;

修改一个指定Charset和Collation的数据库
alter database 数据库名 character set 字符集 collate collation;

mysql> ALTER DATABASE FIRST_DB CHARACTER SET GBK COLLATE GBK_CHINESSE_CI;

MySQL数据库操作

查看

语法格式

SHOW DATABASES [LIKE wild];

功能

        列出在MySql服务器主机上的数据库

解析自带数据库

Information_schema --- 主要存储了系统中的一些数据库对象信息:如用户表信息、列信息、权限信

performance_schema --- 主要存储数据库服务器的性能参数

mysql --- 存储了系统的用户权限信息帮助信息

sys ---5.7新增,之前版本需要手工导入。这个库是通过视图的形式把information_schema 和performance_schema结合起来,查询出更加令人容易理解的数据 

查看所创建的数据库

SHOW CREATE DATABASE <数据库名>;

解析:

       CREATE DATABASE `FIRST_DB` --- 代表数据库名字为 FIRST_DB

       /*!40100 DEFAULT CHARACTER SET gbk */  --- 代表其默认的字符集为GBK

       /*!80016 DEFAULT ENCRYPTION='N' */ ---  默认加密为 N

/*!  数字    代码  */  --- 可以跨行注释,但是一定要闭合,不然出错

创建

语法格式

CREATE DATABASE [IF NOT EXISTS]数据库名;

功能

        用给定的名字创建一个数据库

注意:

          如果数据库已经存在,发生一个错误。

案例

        创建数据库 test1

mysql> CREATE DATABASE test1;

删除

语法格式

 DROP DATABASE [IF EXISTS]数据库名;

功能

        删除数据库中得所有和数据库

注意:

        要小心使用这个命令(慎用)

案例

        删除所创建的test1

mysql> DROP DATABASE test1;

切换

语法格式

 USE 数据库名;

功能

        把指定数据库作为默认(当前)数据库使用,用于后续语句

案例

        将当前数据库切换到SECOND_DB

mysql> USE SECOND_DB;

查看当前连接的数据库

mysql> SELECT DATABASE();

查看数据库版本

mysql> SELECT VERSION();

查看当前用户

mysql> SELECT USER();

执行对应系统命令

语法格式

SYSTEM <命令>

作用

        在mysql中执行一些Linux上的操作命令

案例

mysql> system ls 

mysql> system date

mysql> system cls | clear

 注意:

        可以使用管道符“ | ”,在mysql也生效

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

White乄joker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值