【mysql是怎样运行的】-mysql字符集

news2024/9/9 7:16:55

文章目录

    • 1. 服务器级别
    • 2. 数据库级别
    • 3. 表级别
    • 4. 列级别

MySQL 有 4 个级别的字符集和比较规则,分别是 服务器级别、数据库级别、表级别、列级别.

1. 服务器级别

在这里插入图片描述

SHOW VARIABLES like 'character_set_server'
SHOW VARIABLES like 'collation_server'

在启动服务器程序时,可以通过启动选项或者在服务器程序运行过程中使用SET语句来修改这两个变量的值

启动选项:

#当服务器在启动时读取这个配置文件后,这两个系统变量的值便修改了
[server]
character_set_server=gb2312
collation_server=gb2312_chinese_ci

过程中set:

SET character_set_server = gb2312;

2. 数据库级别

我们在创建和修改数据库时可以指定该数据库的字符集和比较规则
在这里插入图片描述
具体语法:

CREATE DATABASE 数据库名
[[DEFAULT] CHARACTER SET 字符集名称]
[[DEFAULT] COLLATE 比较规则名称];

ALTER DATABASE 数据库名
[[DEFAULT] CHARACTER SET 字符集名称]
[[DEFAULT] COLLATE 比较规则名称];

如:
CREATE DATABASE task CHARACTER SET gb2312 COLLATE gb2312_chinese_ci;
在这里插入图片描述
查看

SHOW VARIABLES like 'character_set_database';
SHOW VARIABLES like 'collation_database';

在数据库的创建语句中也可以不指定字符集和比较规则,如这样
CREATE DATABASE 数据库名;
这将默认使用服务器级别的字符集和比较规则作为数据库的字符集和比较规则·

3. 表级别

我们也可以在创建和修改表的时候指定表的字符集和比较规则
具体语法:

CREATE TABLE 表名(
  列的信息
)[[DEFAULT] CHARACTER SET 字符集名称]
[[DEFAULT] COLLATE 比较规则名称];

ALTER TABLE 表名
[[DEFAULT] CHARACTER SET 字符集名称]
[[DEFAULT] COLLATE 比较规则名称];

如:

CREATE TABLE st(
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) DEFAULT NULL,
  `entity_type` int(11) DEFAULT NULL,
  `entity_id` int(11) DEFAULT NULL,
  `target_id` int(11) DEFAULT NULL,
  `content` text,
  `status` int(11) DEFAULT NULL,
  `create_time` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `index_user_id` (`user_id`)
)CHARACTER SET gb2312 COLLATE gb2312_chinese_ci;

如果创建表的语句中没有指明字符集和比较规则 ,则使用该表所在数据库的字符集和比较规则作为该表的字符集和比较规则.

4. 列级别

对于存储字符串的列,同一个表中不同的列也可以有不同的字符集和比较规则。我们在创建和修改列的时候可以指定该列的字符集和比较规则,语法如下:

CREATE TABLE 表名(
列名 字符串类型 [CHARACTER SET 字符集名称] [COLLATE 比较规则名称]
其他列....);

ALTER TABLE 表名 MODIFY 列名 字符串类型 [CHARACTER SET 字符集名称] [COLLATE 比较规则名称];

如:

ALTER TABLE t MODIFY col VARCHAR(10) CHARACTER SET gbk COLLATE gbk_ chinese_ci;

对于某个列来说,如果在创建和修改表的语句中没有指明字符集和比较规则,则使用该列所在表的字符集和比较规则作为其字符集和比较规则。

总结:
由于字符集和比较规则之间相互关联,因此如果只修改字符集,比较规则也会跟着变化;如果只修改比较规则,字符集也会跟着变化.具体规则如下

  • 只修改字符集,则比较规则将变为修改后的字符集默认的比较规则,
  • 只修改比较规则,则字符集将变为修改后的比较规则对应的字符集.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/60825.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue响应式系统的作用与实现(一)

响应式系统的作用与实现 0.写在前面: 写了mini-vue之后的疑惑更多了,比如为什么要这样设计?这样做的好处是啥?为什么我想不出来?(我真菜于是决定去看霍春阳大佬的Vue.js设计与实现。一些参考资料&#xf…

x265 帧间预测

帧间编码入口函数: 从 Analysis::compressCTU 是ctu编码的入口函数,根据 slice 类型判断是 I 还是 BP,如果是BP则执行帧间编码函数 Analysis::compressInterCU_rdx_x::/*压缩分析CTU过程:1.为当前CTU加载QP…

m基于16QAM的自适应波束形成matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 16QAM全称正交幅度调制是英文Quadrature Amplitude Modulation的缩略语简称,意思是正交幅度调制,是一种数字调制方式。产生的方法有正交调幅法和复合相移法。 波束形成是…

工业级数据分发服务DDS之安全篇

目录引出问题分析问题未授权订阅者未授权发布者截胡篡改跨域攻击解决问题官方标准DDS的安全特性基于域的安全保护域内保护RTI方案RTI安全插件的特性DDS支持的加解密算法用于数据流保护的密码算法用于密钥交换的密码算法用于数字签名的密码算法RTPS-HMAC-Only插件用于数据流保护…

数据结构(10)图的概念、存储

目录 10.1.概念 10.2.存储 10.2.1.邻接矩阵 10.2.2.邻接表 10.1.概念 定义: 图,用来表示多对多的关系,比如地图里城市之间的通路、比如人际关系。 图由顶点和边组成,顶点是图里的每个结点,边是顶点之间的通路,可…

【计算机网络】网络基础(三)

自从计算机、手机被广泛应用于工作、生活、娱乐、学习,那你有没有考虑过QQ的消息、爱奇艺的视频、钉钉的网络会议的数据是如何传输的?这些信息自然是通过网络(WIFI、蜂窝网络等)传播的,而一个简单的通信网络是由路由器…

513.找树左下角的值

文章目录513.找树左下角的值题目题解 - BFS题解- DFS513.找树左下角的值 题目 给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 输入: root [2,1,3] 输出: 1示例 2: 输入: [1,2,3,4,null,5,…

计算机网络学习笔记(II)——应用层(二)

2.4、Email 电子邮件(Email) 主要由三个部分组成: 用户代理邮件服务器简单邮件传输协议:SMTP 用户代理(邮件阅读器): 撰写、编辑和阅读邮件输入和输出邮件保存在服务器上 EMail&#xff1…

UDS入门至精通系列:Service 27

文章目录 前言一、Service 27的功能二、企业规范中怎么定义Service 27三、AUTOSAR关于Service 27实现策略四、关于Service 27集成测试五、用于解锁的dll文件怎样得来?总结前言 本文将近8000字,详细分享了从需求规范提出、功能实现、集成测试等方面对Service 27的介绍! 在引…

PTA编程的一些总结

PTA 1.首先是float单精度浮点数和double双精度浮点数 float占4字节,有效数字7位,double占8字节,有效数字15位 double类型输入16位数字会有误差 老师给的PTA中的练习题中第一题的买U盘需要在结果后面0.000001来弥补double精度 2.判断浮点数…

从ASM看jacoco运行原理

前言 我们在开发中如何保证代码质量,我的回答是做充分的代码测试。Jacoco的出发点是为基于JVM运行的代码提供代码覆盖率统计,期望提供轻量级的、可伸缩的、文档较全的库文件来集成各类构建和开发工具。 ASM介绍 ASM 是一个通用的 Java 字节码操作和分…

架构设计(消息队列)

架构设计(消息队列) 消息队列 发送者将消息发送到topic,消费者从topic中拉取消息进行消费 发送端消息发送方式 同步发送:消息发送后,需要等待消息发送响应结果,发送失败可重试 异步发送:消息发…

Numpy入门[17]——数组广播机制

Numpy入门[17]——数组广播机制 参考: https://ailearning.apachecn.org/NumPy广播机制 使用Jupyter进行练习 NumPy 中的广播机制(Broadcast)旨在解决不同形状数组之间的算术运算问题。我们知道,如果进行运算的两个数组形状完全相…

linux网络编程epoll详解

目录epoll原理解析epoll提供的接口epoll的触发模式epoll原理解析 从socket接收网络数据说起: 1、网络传输中,网卡会把接收到的数据写入内存,网卡向 CPU 发出一个中断信号,操作系统便能得知有新数据到来,再通过网卡中断…

第二证券|行业重磅白皮书发布,超高清视频产业规模剑指3万亿

在5G和超高清交融开展的布景下,下流使用需求有望迸发,超高清视频工业前景可观。 超高清工业规模有望突破3万亿 据报道,12月1日,2022国际显现工业大会分论坛——新式显现超高清主题论坛在成都举行。论坛上,中国电子信息…

文本编辑器vi--常用命令查阅版(记得收藏)

一.为何要学习vi   # 所有的UNIX-like系统都会内置vi文本编辑器,其他的文本编辑器则不一定会存在;   # 很多软件的编辑接口都会主动调用vi;   # vim具有程序编辑的能力,可以主动地以字体颜色辨别语法的正确性,方…

双元科技过会:计划募资6.5亿元,比亚迪和蜂巢能源为主要客户

近日,上海证券交易所披露的信息显示,浙江双元科技股份有限公司(下称“双元科技”)获得科创板上市委会议通过(即IPO过会)。接下来,双元科技将提交注册。 据贝多财经了解,双元科技于20…

关于天干地支及其计算

以天干地支计算日期是我国悠良的传统文化,最近在看如何计算人的生辰八字,写了个程序,但是只能算年的干支,月、日的干支计算方法太复杂了,望之只能却步,还是乖乖去查万年历比较好。这里记下关于干支的一些东…

[附源码]Python计算机毕业设计Django框架的资产管理系统设计与实现

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

[附源码]Python计算机毕业设计SSM京津冀区域产学研项目管理信息系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…