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

『深夜_MySQL』数据库操作 字符集与检验规则

2.库的操作

2.1 创建数据库

语法:

 CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,create_specification].]create_spcification:[DEFAULT] CHARACTER SET charset_nam[DEFAULT] COLLATE collation_name

说明:

  • 大写的表示关键字
    • [] 是可选项
    • CHARACTER SET: 指定数据库采用的字符集
    • COLLATE: 指定数据库字符集的校验规则
      也可以写成 charset =utf-8 collate <所对应的校准集>

    2.2 创建数据库案例

    • 创建一个名为 db1 的数据库
     create database db1;
    
    说明: 当我们创建数据库没有制定字符集和检验规则时,系统使用默认字符集:utf8,检验规则是:utf8_general_ci (不同的系统不同的版本,默认的并不相同,当基本上都是这样类似的)
    • 创建一个使用utf8字符集和db2数据库
    	create database db2 chrest=utf8;
    
    • 创建一个使用utf字符集,并带校对规则的db3数据库。
    	create database db3 charset=utf8 collate utf8_general_ci;
    

2.3 字符集和检验规则

在这里插入图片描述

2.3.1 查看系统默认字符集以及校验规则

	show variables like 'character_set_database';show variables like 'collation_database';

在这里插入图片描述

2.3.2 查看数据库支持的字符集

	show charset;

在这里插入图片描述

上图显示的是所有的字符集以及字符集所对应的校验规则
字符集主要是控制在数据库中用什么样的语言,比如utf8就可以使用中文。

2.3.3 查看数据库支持的字符集校验规则

	show collation;

字符集检验规则 太多,这里不进行展示了。
我们可以通过上面字符集的图片看到部分校验规则。
查看单独一个字符集所对应的校验规则

	show collation like 'utf8%';

在这里插入图片描述

这是utf8所对应的所有校验规则,其中校验规则的命名有如下规则
校对规则名称通常由字符集名称、一些特性描述以及排序规则类型组成,其通用格式为:

字符集名称_特性描述_排序规则类型

其中排序规则,这部分定义了字符的比较和排序方式,
常见的类型有:

  • ai (Accent Insensitive):不区分重音,即带有重音的字符和其无重音形式被视为相同。例如,é 和 e 会被认为是相同的字符。
  • as (Accent Sensitive):区分重音,é 和 e 会被视为不同的字符。
  • ci (Case Insensitive):不区分大小写,A 和 a 会被视为相同的字符。
  • cs (Case Sensitive):区分大小写,A 和 a 会被视为不同的字符。

2.3.4 校验规则对数据库的影响

我们分别创建使用两个校验规则创建数据库,一个区分大小写,一个不区分大小写,查看效果

  • 不区分大小写
create database db1 collate utf8mb4_0900_ai_ci;
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');
  • 区分大小写
create database db2 COLLATE utf8mb4_zh_0900_as_cs ;
use db2
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');
  • 进行查询
    不区分大小写的查询以及结果
    在这里插入图片描述

区分大小写的查询以及结果
在这里插入图片描述

  • 结果排序
    不区分大小写排序以及结果:
    在这里插入图片描述

区分大小写排序以及结果:
在这里插入图片描述

2.4 操纵数据库

语法:

  ALTER DATABASE db_name[alter_spacification [,alter_spacification]...]alter_spacification:[DEFAULT] CHARACTER SET charset_name
TER SET charset_name[DEFAULT] COLLATE collation_name

说明:
对数据库的修改主要指的是修改数据库的字符集,校验规则。
示例:将db3数据库字符集改为gbk
在这里插入图片描述

修改后
在这里插入图片描述

show create database
此语句能够展示创建数据库时所用的完整 SQL 语句,其中会包含数据库的字符集信息。

2.4.4 数据库删除

DROP DATABASE [IF EXISTS] db_ name;

执行删除之后的结果:

  • 数据库内部看不到对应的数据库
  • 对应的数据库文件被删除,级联删除,里面的数据表全部被删除(就是直接将目录删除)

注意:不要随意删除数据库

http://www.xdnf.cn/news/318511.html

相关文章:

  • 桥接模式(Bridge)
  • 从 “机器人 +“ 到 “+ 机器人“:算力政策撬动的产业生态革命
  • 针对Mkdocs部署到Githubpages加速访问速度的一些心得
  • Flutter TabBar / TabBarView 详解
  • 蓝桥杯青少 图形化编程——“星星”点灯
  • hadoop中的序列化和反序列化(2)
  • 软件开发各阶段的自动化测试技术详解
  • 好的软件系统
  • 3、Kafka 核心架构拆解和总结
  • 线程池技术
  • mongodb 学习笔记
  • Java泛型
  • PyTorch 中如何针对 GPU 和 TPU 使用不同的处理方式
  • CPU的基本认识
  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】7.2 PostgreSQL与Python数据交互(psycopg2库使用)
  • 解决HomeAssistant 无法安装 samba share问题
  • C++ set和map系列(关联式容器)的介绍及使用
  • 如何有效防御服务器DDoS攻击
  • GoFly企业版框架升级2.6.6版本说明(框架在2025-05-06发布了)
  • 【macOS】iTerm2介绍
  • 21. LangChain金融领域:合同审查与风险预警自动化
  • 直线最小二乘法线性拟合-- points点集合
  • 【JS逆向基础】并发爬虫
  • 01Introduction
  • Flowable7.x学习笔记(二十一)查看我的发起
  • uniapp 搭配 uCharts
  • 禁止idea联网自动更新通过防火墙方式
  • 2025-05-07 学习记录--Python-变量 + 常量 + 命名规则 + 变量的数据类型 + 数据类型
  • boost笔记: Cannot open include file: ‘boost/mpl/aux_/preprocessed/plain/.hpp‘
  • Decode rpc invocation failed: null -> DecodeableRpcInvocation