当前位置: 首页 > news >正文

数据库之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也生效

http://www.lryc.cn/news/94578.html

相关文章:

  • 搜索引擎概念解析
  • 网页链接投票链接步骤公众号投票链接制作制作投票
  • 【通信安全CACE-管理类基础级】第7章 安全运维
  • 随手笔记——将ROS图像话题转为OpenCV图像格式处理后再转为ROS图像话题发布(Python版)
  • Win11系统如何安装Oracle数据库(超级详细)
  • 【代理服务器】Squid 反向代理与Nginx缓存代理
  • 目标检测之遮挡物体检测
  • Vim 命令大全
  • 【Visual Studio】printf() 函数无输出显示问题。使用 C++ 语言,配合 Qt 开发串口通信界面
  • Linux安装配置Oracle+plsql安装配置(详细)
  • 软件UI工程师的职责模板
  • 【Python】Selenium操作cookie实现免登录
  • 【数据结构与算法篇】之时间复杂度与空间复杂度
  • 硬件性能 - 网络瓶颈分析
  • stm32驱动MCP2515芯片,项目已通过测试
  • Nginx部署前后端分离项目
  • pytorch多分类问题 CrossEntropyLoss()函数的输入size/shape不一致问题
  • 硬盘或者U盘提示需要格式化的解决办法
  • Clip-Path
  • Matlab绘图系列教程-Matlab 34 种绘图函数示例(下)
  • 【Vue+Django】Training Management Platform Axios并发请求 - 20230703
  • smart Spring:自定义注解、拦截器的使用(更新中...)
  • php导出pdf
  • 【ECMAScript6_2】字符串
  • 37.RocketMQ之Broker消息存储源码分析
  • RabbitMq应用延时消息
  • 【WEB自动化测试】- 浏览器操作方法
  • VSCode设置鼠标滚轮滑动设置字体大小
  • Spring MVC是什么?详解它的组件、请求流程及注解
  • 基于Spring Boot的广告公司业务管理平台设计与实现(Java+spring boot+MySQL)