【MySQL】数据库的操作

【MySQL】数据库的操作

目录

  • 【MySQL】数据库的操作
    • 创建数据库
    • 数据库的编码集和校验集
      • 查看系统默认字符集以及校验规则
      • 查看数据库支持的字符集
      • 查看数据库支持的字符集校验规则
      • 校验规则对数据库的影响
      • 数据库的删除
    • 数据库的备份和恢复
      • 备份
      • 还原
      • 不备份整个数据库,而是备份其中的表
      • 查看连接情况

作者:爱写代码的刚子

时间:2024.3.2

前言:本篇博客主要记录数据库的操作

创建数据库

  • **create database +数据库名字;**本质就是在/var/lib/mysql里创建一个目录

  • **drop database +数据库名字;**本质就是删除目录

  • create database if not exists +数据库名字带上if not exist选项表示没有该数据库就进行创建

在这里插入图片描述

数据库的编码集和校验集

  1. 数据库编码集:数据库未来存储数据
  2. 数据库校验集:支持数据库,进行字段比较使用的编码,本质也是一种读取数据库中数据的采用的编码格式
  • 数据库无论对数据做任何操作,都必须保证操作和编码必须是编码一致的!

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

  • show variables like ‘character_set_database’; 查看数据库默认(配置文件决定了)的字符集
  • **show variables like ‘collation_database’;**查看数据库默认的校验规则

在这里插入图片描述

查看数据库支持的字符集

  • show charset;

在这里插入图片描述

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

  • show collation;

在这里插入图片描述

  • 数据库里面的db.opt文件中存放数据库的编码集和校验规则

在这里插入图片描述

创建数据库,并设置其编码集:

  • create database 数据库名字 charset=utf8;
  • create database d3 character set utf8;

在这里插入图片描述

我们可以在/var/lib/mysql对应数据库目录里的db.opt查看数据库的编码集和校验规则。

  • **create database d4 charset=utf8 collate utf8_general_ci;**创建数据库并设置其编码集和校验规则

在这里插入图片描述

在这里插入图片描述

校验规则对数据库的影响

  • 创建两个数据库,编码规则相同,但是校验规则不同:
  • utf8_ general_ ci不区分大小写
  • utf8_bin区分大小写

在这里插入图片描述

  • 建表并查看表:

在这里插入图片描述

  • 向表中插入数据:

在这里插入图片描述

  • **select * from person;**查看表中的所有数据

在这里插入图片描述

  • **select * from person where name=‘a’;**查看表中名为a的数据

在这里插入图片描述

这里我们发现数据库test1中的校验规则为utf8_ general_ ci,并不区分大小写

  • 使用数据库test2做验证:

在这里插入图片描述

这里我们发现数据库test2中的校验规则为utf8_bin区分大小写

  • **select * from person order by name;**使用order by进行排序

使用不同的校验规则排序产生的结果并不相同:

test1:

在这里插入图片描述

test2:

在这里插入图片描述

数据库的删除

  • drop database if exists +数据库的名字删除数据库,if exists表示如果存在就进行删除

在这里插入图片描述

执行删除之后的结果:

  • 数据库内部看不到对应的数据库
  • 对应的数据库文件夹被删除,级联删除,里面的数据表全部被删

不要随便删除数据库!!!

  • **use +数据库名;**使用数据库

  • **select database();**查看当前在哪个数据库中

在这里插入图片描述

  • **alter database 数据库名字 charset=gbk collate gbk_chinese_ci;**修改数据库的编码集和校验规则

在这里插入图片描述

  • show create database 数据库名字显示创建数据库的命令

在这里插入图片描述

说明:

  • MySQL 建议我们关键字使用大写,但是不是必须的。
  • 数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字。
  • /* !40100 default… */这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话

在这里插入图片描述

数据库的备份和恢复

备份

  • mysqldump -P3306 -uroot -p -B test1 > test1.sql将数据库进行备份

在这里插入图片描述

  • test.sql里面存放的并不是数据,而是我们历史上使用的数据库的命令

在这里插入图片描述

还原

  • **source /root/MySQL/test1.sql;**恢复备份了的数据库

在这里插入图片描述

在这里插入图片描述

不备份整个数据库,而是备份其中的表

  • mysqldump -u root -p 数据库名 表名1 表名2 > mysql.sql备份数据库其中的表
  • mysqldump -u root -p -B 数据库名1 数据库名2 … > 数据库存放的路径同时备份多个数据库

注意:如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原。

带了-B选项,.sql文件中会添加create database …的选项,所以不用自己创建一个空的数据库

查看连接情况

  • **show processlist;**查看数据库有哪些人在使用

在这里插入图片描述

可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是自己正常登陆的,很有可能自己的数据库被人入侵了。以后发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法------(13)KMP

例题:(1)AcWing 831. KMP字符串 。。其实写完也不太理解。。随便写点吧 KMP就是求next数组和运用next的数组的过程。相比传统匹配模式一次更新一单位距离的慢速方法,next数组可以让下表字符串一次更新n - next【n】个距离&#x…

【研发日记】Matlab/Simulink技能解锁(三)——在Stateflow编辑窗口Debug

文章目录 前言 State断点 Transition断点 条件断点 按State步进 Watch Data Value Sequence Viewer 分析和应用 总结 前言 见《【研发日记】Matlab/Simulink技能解锁(一)——在Simulink编辑窗口Debug》 见《【研发日记】Matlab/Simulink技能解锁(二)——在Function编辑…

C++之类和对象(2)

目录 1.类的6个默认成员函数 2. 构造函数 2.1 概念 2.2 特性 3.析构函数 3.1 概念 3.2 特性 4. 拷贝构造函数 4.1 概念 4.2 特征 5.赋值运算符重载 5.1 运算符重载 5.2 赋值运算符重载 2. 赋值运算符只能重载成类的成员函数不能重载成全局函数 3. 用户没有显式实现时&…

Flink CDC 提取记录变更时间作为事件时间和 Hudi 表的 precombine.field 以及1970-01-01 取值问题

博主历时三年精心创作的《大数据平台架构与原型实现:数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行,点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,…

深入剖析k8s-控制器思想

引言 本文是《深入剖析Kubernetes》学习笔记——《深入剖析Kubernetes》 正文 控制器都遵循K8s的项目中一个通用的编排模式——控制循环 for {实际状态 : 获取集群中对象X的实际状态期望状态 : 获取集群中对象X的期望状态if 实际状态 期望状态 {// do nothing} else {执行…

LeetCode 2120.执行所有后缀指令

现有一个 n x n 大小的网格,左上角单元格坐标 (0, 0) ,右下角单元格坐标 (n - 1, n - 1) 。给你整数 n 和一个整数数组 startPos ,其中 startPos [startrow, startcol] 表示机器人最开始在坐标为 (startrow, startcol) 的单元格上。 另给你…

多行业万能预约门店小程序源码系统 支持多门店预约小程序 带完整的安装代码包以及搭建教程

随着消费者对于服务体验要求的不断提升,门店预约系统成为了许多行业提升服务质量、提高运营效率的重要工具。然而,市面上的预约系统往往功能单一,无法满足多行业、多场景的个性化需求。下面,小编集合了多年的行业经验和技术积累&a…

11:日志分析系统ELK|Elasticsearch|kibana

日志分析系统ELK|Elasticsearch|kibana 日志分析系统ELKELK概述Elasticsearch安装Elasticsearch部署Elasticsearch集群Elasticsearch插件 熟悉Elasticsearch的API调用_cat API创建 tedu 索引使用 PUT 方式增加数据查询数据修改数据删除数据 KibanaKibana…

Android T 远程动画显示流程其三——桌面侧动画启动到系统侧结束流程

前言 接着前文分析Android T 远程动画显示流程其二 我们通过IRemoteAnimationRunner跨进程通信从系统进程来到了桌面进程,这里是真正动画播放的逻辑。 之后又通过IRemoteAnimationFinishedCallback跨进程通信回到系统进程,处理动画结束时的逻辑。 进入…

基于yolov5的电瓶车和自行车检测系统,可进行图像目标检测,也可进行视屏和摄像检测(pytorch框架)【python源码+UI界面+功能源码详解】

功能演示: 基于yolov5的电瓶车和自行车检测系统_哔哩哔哩_bilibili (一)简介 基于yolov5的电瓶车和自行车检测系统是在pytorch框架下实现的,这是一个完整的项目,包括代码,数据集,训练好的模型…

svn介绍 4.0

一、svn介绍(版本控制工具) 1、svn的定义: svn是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式个管…

2024年sCrypt编程马拉松即将开幕

BSV区块链的建设者们,你们在哪?2024年sCrypt编程马拉松即将拉开帷幕! 2024年3月16日至17日,我们将在旧金山市举办一场以比特币智能合约(即 sCrypt)和比特币通证(如Ordinals)相结合为…

【蛀牙】日常生活如何正确护理牙齿?刷牙、洗牙、补牙

程序员生活指南之 【蛀牙】日常生活如何正确护理牙齿?刷牙、洗牙、补牙 文章目录 一、日常如何清洗牙齿?——刷牙与洗牙1、牙齿污垢1.1 牙菌斑1.2 软垢1.3 牙结石1.4 牙龈出血 2、如何刷牙2.1 关于时间2.2 各种工具2.3 巴氏刷牙法 二、定期进行洗牙3、如…

链表OJ刷题(二)

制作不易,三连支持一下呗!!! 文章目录 前言一、链表的回文结构二、相交链表三、链表中倒数第k个节点四、环形链表Ⅰ和Ⅱ总结 前言 一、链表的回文结构 链表的回文结构_牛客题霸_牛客网 这里我们需要先了解一下什么叫做回文&#…

React之组件定义和事件处理

一、组件的分类 在react中,组件分为函数组件和class组件,也就是无状态组件和有状态组件。 * 更过时候我们应该区别使用无状态组件,因为如果有状态组件会触发生命周期所对应的一些函数 * 一旦触发他生命周期的函数,它就会影响当前项…

MQL5学习之RSI指标编写

研究MT5时发现MQL5这个指标编写功能很强大,应该是碾压国内所有的指标系统,不过这个东西相对复杂很多,比通达信公式不知复杂几许,看起来和C语法接近,倒是比较适合自己。试着玩一下,发现还是有点难度的。索性…

修改centos7的dns解决docker拉取镜像超时问题

近期在一台centos7的服务器上部署系统,拉取docker镜像时总是超时,如图所示。网上有教程说,可以修改操纵系统的dns地址,试了一下,果然搞定。 打开dns配置文件 sudo vi /etc/resolv.conf发觉里面的地址设为114.114.114…

Qt篇——QTableWidget保存表格数据到Excel文件中,读Excel内容到QTableWidget

表格和excel例子如下图所示&#xff1a; 一、QTableWidget保存表格数据到Excel文件中 代码如下&#xff1a; &#xff08;pro文件中添加QT axcontainer&#xff09; #include <QAxObject>void MainWindow::saveTableToExcel() {QDateTime current_date_time QDateTi…

交友社交软件开发-php交友聊天系统-

为了开发一个高效的交友系统&#xff0c;需要一个完善的信息管理和筛选机制。这个系统应该能够根据用户的个人信息、兴趣爱好、价值观等标准进行筛选&#xff0c;并向用户提供符合他们要求心仪的人的信息。为了实现这个目标&#xff0c;系统可以利用人工智能技术&#xff0c;分…

经销商文件分发 怎样兼顾安全和效率?

经销商文件分发是指将文件、资料、产品信息等从制造商或经销商传递给经销商的过程。这一过程对于确保经销商能够获取最新的产品信息、销售策略、市场活动资料等至关重要。 想要管理众多经销商合作伙伴之间的文件传输并提高效率&#xff0c;可以采取以下措施&#xff1a; 1、建…