【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.hqwc.cn/news/504519.html

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

相关文章

win11安装nodejs

一、下载安装包 链接: https://pan.baidu.com/s/1_df8s1UlgNNaewWrWgI59A?pwdpsjm 提取码: psjm 二、安装步骤 1.双击安装包 2.Next> 3.勾选之后,Next> 4.点击Change,选择你要安装的路径,然后Next> 5.点击Install安装 二、…

Postman: 前端必备工具还是后端独享利器

Postman 的使用场景:适用于前端和后端 Postman 是一个流行的 API 测试与开发工具。它被广泛地应用在前后端开发的过程中,但是很多人对于它的使用场景存在疑惑。那么,到底是前端用还是后端用呢?本文将从多个角度详细解答这个问题。…

基于Google Vertex AI 和 Llama 2进行RLHF训练和评估

Reinforcement Learning from Human Feedback 基于Google Vertex AI 和 Llama 2进行RLHF训练和评估 课程地址:https://www.deeplearning.ai/short-courses/reinforcement-learning-from-human-feedback/ Topic: Get a conceptual understanding of Reinforcemen…

基于MUSIC算法的六阵元圆阵DOA估计matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于MUSIC算法的六阵元圆阵DOA估计matlab仿真. 2.测试软件版本以及运行结果展示 MATLAB2022a版本运行 3.核心程序 ........................................…

长期可用的文件二维码怎么做?在线制作可修改的文件活码

怎么做一个可以长期使用的文件二维码呢?现在通过二维码来传递文件是很流行的一种方式,将文件生成二维码后印刷上墙或者分享给他人都可以快速完成文件的传播,所以在下发通知、资料等方面用途较多。那么文件二维码该如何生成呢? 想…

Doris【基础篇】

一、简介 Doris(原百度Palo)是一款基于大规模并行处理技术的分布式SQL数据库。基于MPP的交互式SQL数据库,可以用于OLAP。MPP是将任务并行的分散到多个服务器和节点上,在每个节点上结算完后,将各个部分的结果汇总在一起…

四大布局

1.LinearLayout 2.RelativeLayout <?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"15…

python 基础知识点(蓝桥杯python科目个人复习计划56)

今日复习内容&#xff1a;做题 例题1&#xff1a;最小的或运算 问题描述&#xff1a;给定整数a,b&#xff0c;求最小的整数x&#xff0c;满足a|x b|x&#xff0c;其中|表示或运算。 输入格式&#xff1a; 第一行包括两个正整数a&#xff0c;b&#xff1b; 输出格式&#…

如何将视频的声音转换成音频?视频提取音频的小妙招

在数字化时代&#xff0c;视频和音频是我们生活中不可或缺的元素。有时候&#xff0c;我们可能只需要视频中的音频部分&#xff0c;这时就需要将视频的声音转换成音频文件。那么&#xff0c;如何实现这一操作呢&#xff1f;本文将为您介绍几种简单而实用的小妙招。 方法一&…

eltable 合计行添加tooltip

eltable 合计行添加tooltip 问题描述&#xff1a; eltable 合计行单元格内容过长会换行&#xff0c;需求要求合计行数据超长显示 … &#xff0c;鼠标 hover 时显示提示信息。 解决方案&#xff1a;eltable合计行没有对外的修改接口&#xff0c;想法是 自己实现一个tooltip&a…

你知道什么是回调函数吗?

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话&#xff1a; 知不足而奋进&#xff0c;望远山而前行&am…

3、皮卡丘代码审计(3)

一、命令/代码执行 基础知识 win系统 |不管A成功还是失败&#xff0c;两者都会执行&#xff0c;但只输出B的结果&不管A成功还是失败&#xff0c;两者都会执行&#xff0c;两者结果都会输出注意的是&#xff1a;&有可能会被当做分割参数的符号&#xff0c;导致没有出…