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

「MySQL-02」数据库的操纵、备份、还原和编码规则

目录

一、库操作

1. 创建数据库

2. 查看所有数据库

3. 删除数据库

4. 修改数据库

5. 进入一个数据库

二、查看和设置数据库的编码规则

1. MySQL的两个编码规则:字符集和校验规则

2. 查看MySQL当前使用的字符集以及校验规则

3. 查看MySQL支持的所有字符集

4. 查看MySQL支持的所有校验规则

5. 设置字符集和校验规则

三、数据库的备份和还原

1.数据库的备份和还

2.数据库的还原

四、查看库的连接情况


一、库操作

1. 创建数据库

语法:CREATE DATABASE [IF NOT EXISTS] `数据库名` [charset=要设置的字符集] [collate 要设置的校验规则];
示例:create databse if not exists test charset=utf8;
说明:1.MySQL对大小写不敏感,所以关键字可大写也可小写,MySQL的存储引擎优化后都能识别。2.[] 是可选项3.IF NOT EXISTS:如果不存在就创建。4.数据库名的反引号可加可不加,一般是数据库名称和MySQL中的关键字冲突时加。5.charset: 指定数据库采用的字符集6.collate: 指定数据库字符集的校验规则7.创建数据库的本质就是在 /var/lib/mysql路径下创建目录

2. 查看所有数据库

show databases;
--查看当前用户有权限访问的所有数据库
--本质上就是查看 /var/lib/mysql路径下的目录

3. 删除数据库

语法:DROP DATABASE [IF EXISTS] 数据库名称;
示例:drop database if exists test1;
说明:IF EXISTS:如果存在就删除本质上就是删除 /var/lib/mysql路径下的指定目录,级联删除,里面的数据表全部被删

4. 修改数据库

语法:ALTER DATABASE 数据库名称 [charset 要设置的字符集] [collate 要设置的校验规则];
示例:alter database test charset=utf8;
说明:该sql语句主要就是用来修改数据库的字符集和校验规则,无法修改数据库的名字修改字符集校验规则也会跟着修改但要校验规则如果和当前字符集不匹配将无法修改

5. 进入一个数据库

use 数据库名;
-- 本质上是进入数据库对应的目录

二、查看和设置数据库的编码规则

1. MySQL的两个编码规则:字符集和校验规则

  • 字符集     :规定MySQL以什么编码方式接收、保存用户数据和给发送用户发送数据。
  • 校验规则 :在设立好的字符集的基础上,规定MySQL以什么方式来识别用户发来的SQL语句和比对用户发来的数据跟数据库中的数据,如是否要大小写敏感、是否bin(二元)结束

        MySQl中字符集和校对规则是一对多的关系,虽然字符集都有一个默认的校对规则,但我们可以自主设置字符集和校验规则,只要两者能匹配就不会出现乱码问题。要注意的是只设置字符集时,MySQL会自动将校对规则设置为字符集中对应的默认校对规则。

2. 查看MySQL当前使用的字符集以及校验规则

  • 查看MySQL中数据库使用的字符集以及校验规则:
    show variables like 'character_set_database';
    show variables like 'collation_database';
  • 查看MySQL中数据库服务端使用的字符集以及校验规则:
    show variables like 'character_set_server';
    show variables like 'collation_server';
  • 查看MySQL中各部分使用的字符集以及校验规则:
    show variables like 'character_set_%';
    show variables like 'collation_%';
  • 通过数据库目录下的db.opt文件查看指定数据库使用的字符集以及校验规则
    cat 数据库名称/db.opt

3. 查看MySQL支持的所有字符集

  • SQL语句:
        show charset;
  • 示例: 

        

  • 说明:
        图中第三列即为字符集能匹配上的校验规则。

4. 查看MySQL支持的所有校验规则

  • SQL语句:
        show collation;
  • 示例:
        
  • 说明:
        图中第二列即为校验规则能匹配上的字符集。

5. 设置字符集和校验规则

4.4.1 通过配置my.cnf文件设置MySQL的默认字符集和默认校验规则

示例:

        使用vim打开MySQL配置文件 :  vim /etc/my.cnf

        然后在最后一行前面加上:character-set-server=utf8

        最后重启MySQL客户端 : systemctl restart mysqld 

说明:

        character-set-server=utf8 是在设置MySQL的服务端的默认字符集为utf-8。


4.4.2 创建数据库时指明该数据库使用的字符集和校验规则

SQL语句:

        create database 数据库名 charset 要设置的字符集 collate 要设置的校验规则

示例:

        create database test charset utf8 collate utf8_bin;

说明:

        设置好了字符集,校验规则也会跟着改变为默认匹配的。反之亦然。

        如果创建数据库时不指明该数据库使用的字符集和校验规则,就使用MySQL的默认字符集和默认校验规则。

        设置数据库的字符集,校验规则本质上就是在修改数据库目录下的db.opt文件。


三、数据库的备份和还原

1.数据库的备份和还

语法(在Linux环境下):mysqldump -P端口号 -uMySQL用户名 -p用户密码 -B数据库名 > 存储数据库备份信息的文件的路径
示例:mysqldump -P3306 -uroot -p123456 -Btest > ./db.sql
说明:该语句的主要作用就是将数据库的主要信息和历史操作信息保存到了指定文件中mysqldump和mysql服务端,客户端一样也是由MySQL提供给用户的工具,用来备份数据库。如果备份时,没有-B参数,在恢复数据库时,需要先创建空数据库,然后进入数据库,再使用source来还原如果备份的不是整个数据库,而是其中的一张表,怎么做?mysqldump -u root -p 数据库名 表名1 表名2 > 存储数据库备份信息的文件的路径同时备份多个数据库mysqldump -u root -p -B 数据库名1 数据库名2 ... > 存储数据库备份信息的文件的路径

2.数据库的还原

方法:先登录mysql,再输入以下sql语句:source 保存数据库备份信息的文件路径;
示例source root/mysql/db.sql
说明:这里保存数据库备份信息的文件路径为绝对路径。

四、查看库的连接情况

语法:show processlist说明:用该sql语句我们可以知道当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能你的数据库被人入侵了。发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。

------------------------END-------------------------

才疏学浅,谬误难免,欢迎各位批评指正。

相关文章:

「MySQL-02」数据库的操纵、备份、还原和编码规则

目录 一、库操作 1. 创建数据库 2. 查看所有数据库 3. 删除数据库 4. 修改数据库 5. 进入一个数据库 二、查看和设置数据库的编码规则 1. MySQL的两个编码规则:字符集和校验规则 2. 查看MySQL当前使用的字符集以及校验规则 3. 查看MySQL支持的所有字符集 4. 查看MyS…...

Effective C++条款24——若所有参数皆需类型转换,请为此采用non-member涵数(设计与声明)

我在导读中提过,令classes支持隐式类型转换通常是个糟糕的主意。当然这条规则有其例外,最常见的例外是在建立数值类型时。假设你设计一个class用来表现有理数,允许整数“隐式转换”为有理数似乎颇为合理。的确,它并不比C内置从int…...

决策工具箱:战略分析必备工具与框架

跟随时代的步伐,企业战略也在不断演化。无论是初创企业还是知名企业,都需要有效的战略工具来指导其业务发展。探索这些必备工具,并学习如何最大限度地利用它们,是企业的一个学习目标。 战略分析工具和框架有很多,其中…...

【压力测试指南】没有任何文档,小白也可以做的压力测试

前言 一般在执行压力测试之前,会由开发提供出接口文档,包含一些接口的详细参数,便于测试工程师编写测试脚本。但在某些情况下,接口等相关文档缺失,那作为Tester,我们该如何顺利的实施压力测试呢&#xff1…...

Linux: memory: memblock: debug

文章目录 代码memblock=debug实例log代码 将内存相关的一些日志打开: static int __init early_memblock(char *p) {if (p && strstr(p, "debug")...

搬家快递服务小程序的便利性

在当今快节奏的生活中,搬家可能是很多人都需要面对的问题。无论是新房子还是新办公室,都需要高效、便捷的搬家服务。本文将介绍如何使用第三方小程序制作平台,如乔拓云平台,开发一款高效便捷的搬家服务小程序。 1. 注册登录第三方…...

软件架构师 Debugging

软件架构师 Debugging 目录概述需求: 设计思路实现思路分析 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,challenge Survi…...

​7.1 项目1 学生通讯录管理:文本文件增删改查(C++版本)(自顶向下设计+断点调试) (A)​

C自学精简教程 目录(必读) 作业目标: 这个作业中,你需要综合运用之前文章中的知识,来解决一个相对完整的应用程序。 作业描述: 1 在这个作业中你需要在文本文件中存储学生通讯录的信息,并在程序启动的时候加载这些…...

学习使用php判断阿里云oss图片单图或批量上传、查询图片文件是否存在

学习使用php判断阿里云oss图片单图或批量上传、查询图片文件是否存在 doesObjectExist doesObjectExist 主要函数doesObjectExist /*** Base64上传文件* param string|array $images* param string $model_path* param string $model_type* param string $upload_path* param…...

重磅| Falcon 180B 正式在 Hugging Face Hub 上发布!

引言 我们很高兴地宣布由 Technology Innovation Institute (TII) 训练的开源大模型 Falcon 180B 登陆 Hugging Face! Falcon 180B 为开源大模型树立了全新的标杆。作为当前最大的开源大模型,有180B 参数并且是在在 3.5 万亿 token 的 TII RefinedWeb 数…...

Linux命令行

目录 CLI GUI 命令行界面 图形界面 命令行提示符 # $ ​编辑 命令一般由三个部分组成 历史命令,使用上下键,或者使用history,ctrlr搜索历史命令 通配符 *,? 切换用户 su 作业管理 &,jobs,bg,fg CLI GUI 命令行界面 …...

[持续更新]计算机经典面试题基础篇Day1

[通用]计算机经典面试题基础篇Day1 1、jvm的组成 类加载器(Class Loader):负责将编译后的Java类加载到JVM中,并在运行时动态加载所需的类。运行时数据区(Runtime Data Area):是JVM的内存管理区…...

ProcessWindowFunction 结合自定义触发器的陷阱

背景: flink中常见的需求如下:统计某个页面一天内的点击率,每10秒输出一次,我们如果采用ProcessWindowFunction 结合自定义触发器如何实现呢?如果这样实现问题是什么呢? ProcessWindowFunction 结合自定义触发器实现…...

什么是jvm

一、初识JVM(虚拟机) JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 引入Jav…...

kettle通过java步骤获取汉字首拼

kettle通过java步骤获取汉字首拼 用途描述 一组数据,需要获取汉字首拼后,输出; 实现效果 添加jar包 pinyin4j-2.5.0.jar 自定义常量数据 Java代码 完整代码: import net.sourceforge.pinyin4j.PinyinHelper; import net.sou…...

Conformer: Local Features Coupling Global Representationsfor Visual Recognition

论文链接:https://arxiv.org/abs/2105.03889 代码链接:https://github.com/pengzhiliang/Conformer 参考博文:Conformer论文以及代码解析(上)_conformer代码_从现在开始壹并超的博客-CSDN博客 摘要 在卷积神经网络…...

java8-Stream流常用API

什么是 Stream Stream(流)是 Java 8 引入的一个新的抽象概念,它代表着一种处理数据的序列。简单来说,Stream 是一系列元素的集合,这些元素可以是集合、数组、I/O 资源或者其他数据源。 Stream API 提供了丰富的操作方…...

React 任务调度

React 任务池 不同的fiber任务有不同的优先级,为了用户体验,React需要先处理优先级高的任务。 为了存储这些任务,React中有两个任务池: // Tasks are stored on a min heap var taskQueue []; // 存储立即要执行的任务 var tim…...

小白开始学习C++

​​​​第一节&#xff1a;控制台输出hello word&#xff01; #include<iostream> //引入库文件 int main() { //控制台输出 hello word! 之后回车 std::cout << "hello word!\n"; #include<iostream> //引入库文件int main() {//控制…...

SpringMVC入门的注解、参数传递、返回值和页面跳转---超详细教学

前言&#xff1a; 欢迎阅读Spring MVC入门必读&#xff01;在这篇文章中&#xff0c;我们将探索这个令人兴奋的框架&#xff0c;它为您提供了一种高效、灵活且易于维护的方式来构建Web应用程序。通过使用Spring MVC&#xff0c;您将享受到以下好处&#xff1a;简洁的代码、强大…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M&#xff1a;百万&#xff08;Million&#xff09; B&#xff1a;十亿&#xff08;Billion&#xff09; 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的&#xff0c;但是一个参数所表示多少字节不一定&#xff0c;需要看这个参数以什么…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享

文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的&#xff0c;根据Excel列的需求预估的工时直接打骨折&#xff0c;不要问我为什么&#xff0c;主要…...

在WSL2的Ubuntu镜像中安装Docker

Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包&#xff1a; for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill

视觉语言模型&#xff08;Vision-Language Models, VLMs&#xff09;&#xff0c;为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展&#xff0c;机器人仍难以胜任复杂的长时程任务&#xff08;如家具装配&#xff09;&#xff0c;主要受限于人…...

逻辑回归暴力训练预测金融欺诈

简述 「使用逻辑回归暴力预测金融欺诈&#xff0c;并不断增加特征维度持续测试」的做法&#xff0c;体现了一种逐步建模与迭代验证的实验思路&#xff0c;在金融欺诈检测中非常有价值&#xff0c;本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...

django blank 与 null的区别

1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是&#xff0c;要注意以下几点&#xff1a; Django的表单验证与null无关&#xff1a;null参数控制的是数据库层面字段是否可以为NULL&#xff0c;而blank参数控制的是Django表单验证时字…...

C# winform教程(二)----checkbox

一、作用 提供一个用户选择或者不选的状态&#xff0c;这是一个可以多选的控件。 二、属性 其实功能大差不差&#xff0c;除了特殊的几个外&#xff0c;与button基本相同&#xff0c;所有说几个独有的 checkbox属性 名称内容含义appearance控件外观可以变成按钮形状checkali…...