【MySQL】 库的操作

ops/2025/1/24 17:53:10/

欢迎拜访:雾里看山-CSDN博客
本篇主题:【MySQL】 库的操作
发布时间:2025.1.23
隶属专栏:MySQL

在这里插入图片描述

目录

  • 库的创建
    • 语法
    • 使用
  • 编码规则
    • 认识编码集
    • 查看数据库默认的编码集和校验集
    • 查看数据库支持的编码集和校验集
    • 指定编码创建数据库
    • 验证不同校验编码的影响
  • 库的操作
  • 库的备份和恢复
    • 备份
    • 恢复
    • 注意

库的创建

语法

create database  database1;
create database if not exists database1;

if not exists 在创建数据库的时候,可以加也可以不加。
他的目的是如果已经存在相应的数据库,则不会继续创建。

创建数据库的本质:在/var/lib/mysql目录下创建的一个目录。

使用

在这里插入图片描述
在第二次创建的时候,报出的警告内容就是,已经存在相应的数据库,不在创建新的数据库

编码规则

认识编码集

创建数据库的时候,有两个编码集:

  1. 数据库编码集 — 数据库未来存储数据
  2. 数据库校验集 — 支持数据库,进行字段比较使用的编码,本质也是一种读取数据库中数据采用的编码格式

数据库无论对数据做任何操作,都必须保证操作和编码是一致的!

查看数据库默认的编码集和校验集

查看默认编码集的命令:

show variables like 'character_set_database';

在这里插入图片描述

查看默认校验集的命令

show variables like 'collation_database';

在这里插入图片描述

查看数据库支持的编码集和校验集

查看支持编码集的命令:

show charset;

在这里插入图片描述

查看支持校验集的命令

show collation;

在这里插入图片描述

指定编码创建数据库

在库相应目录下有一个db.opt文件,存放的内容就是我们的编码集校验集
在这里插入图片描述
指定编码集创建文件:

create database db1 charset=utf8;

或者

create database db2 character set utf8;

在这里插入图片描述
同时指定编码集和校验规则

create database db3 charset=utf8 collate utf8_general_ci;

在这里插入图片描述

验证不同校验编码的影响

创建一个不区分大小写的数据库(编码规则采用utf8_general_ci

  1. 创建库
create database test1 collate utf8_general_ci;
  1. 进入库
use test1;
  1. 创建表
create table person(name varchar(20));
  1. 插入数据
insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');

在这里插入图片描述

创建一个区分大小写的数据库(编码规则采用utf8_bin

  1. 创建库
create database test2 collate utf8_bin;
  1. 进入库
use test2;
  1. 创建表
create table person(name varchar(20));
  1. 插入数据
insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');

在这里插入图片描述

查询时的不同
命令:

select * from person where name='a';

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

区分大小写的查询结果:
在这里插入图片描述
排序时的不同
命令:

select * from person order by name;

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

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

库的操作

查看数据库

show databases;

在这里插入图片描述

进入数据库

use test1;

在这里插入图片描述

查看我当前在哪个数据库

show databases;

在这里插入图片描述

显示创建语句

show create database test1;

在这里插入图片描述

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

修改数据库

alter database test1 charset=gbk collate gbk_chinese_ci;

在这里插入图片描述

数据库的删除

drop database test1;

或者

drop database if exists test1;

在这里插入图片描述

特别注意,一旦删除数据库数据库里的表等内容会全部删除,这在实际应用中是一个很危险的事情,所以尽可能的不要删除数据库,非要删的话,做好备份以后再删除。

查看连接情况

show processlist;

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

库的备份和恢复

备份

在Linux下进行,命令:

mysqldump -P3306 -uroot -p -B test2 > test2.sql

在这里插入图片描述
vim编辑器查看test2.sql文件内容如下:
在这里插入图片描述
可见MySQL的备份不仅仅是把数据备份了,而且备份了关于数据库的所有操作。

恢复

在MySQL中进行
命令:source 备份文件的路径

source /home/ubuntu/mysql/test2.sql;

数据库会将你之前的所有操作再做一次。
在这里插入图片描述

注意

  1. 如果只备份一张表
    在Linux下进行,命令:
mysqldump -uroot -p  数据库名 表名1 表名2 ... > 存放路径
  1. 同时备份多个数据库
    在Linux下进行,命令:
mysqldump  -uroot -p -B 数据库名1 数据库名2 ... > 存放路径
  1. 如果备份数据库的时候,没有带上 -B 参数,在恢复数据时,需要先创建空数据库,然后使用数据库,再使用source来恢复。

⚠️ 写在最后:以上内容是我在学习以后得一些总结和概括,如有错误或者需要补充的地方欢迎各位大佬评论或者私信我交流!!!


http://www.ppmy.cn/ops/152800.html

相关文章

【博客之星】2024年度总结

👨‍🎓博主简介 🏅CSDN博客专家   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入&#xff01…

React基础

前言 (2021年笔记)补充记录 React基础 前言React讲义一、create-react-app二、关于React1、React的起源和发展2、React与传统MVC的关系3、React高性能的体现:虚拟DOM4、React的特点和优势 三、编写第一个react应用程序四、元素与组件1、函数…

Objective-C语言的安全开发

Objective-C语言的安全开发 引言 在当今的信息技术时代,软件的安全性已成为开发者必须重视的重点。随着移动互联网的蓬勃发展,iOS作为重要的移动操作系统,受到越来越多开发者的关注。而Objective-C作为iOS应用开发的主要语言之一&#xff0…

利用现有模型处理面部视频获取特征向量(3)

下一步在没有conda的ubuntu装miniconda3 mkdir -p ~/miniconda3 wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3 rm ~/miniconda3/miniconda.shsource ~/m…

《从入门到精通:蓝桥杯编程大赛知识点全攻略》(五)-数的三次方根、机器人跳跃问题、四平方和

本博客将详细探讨如何通过二分查找算法来解决这几个经典问题。通过几个实际的例子,我们将展示如何在这些问题中灵活应用二分查找,优化计算过程,并在面对大数据量时保持高效性。 目录 前言 数的三次方根 算法思路 代码如下 机器人跳跃问题…

css动画水球图

由于echarts水球图动画会导致ios卡顿&#xff0c;所以纯css模拟 展示效果 组件 <template><div class"water-box"><div class"water"><div class"progress" :style"{ --newProgress: newProgress % }"><…

防火墙安全策略

目录 一.拓扑信息 二.需求分析 三.命令行详细配置信息 1.配置IP 2.交换机配置 3.修改安全区域 4.安全策略 四.web界面详细配置 1.配置IP和设置安全区域 2.交换机配置 3.安全策略 五.测试 一.拓扑信息 二.需求分析 1.VLAN 2属于办公区域&#xff1b;VLAN 3属于生…

一文了解 DeepSeek R1 模型:AI 推理领域的革命性突破

网址&#xff1a;DeepSeek 官方网站 2025 年 1 月 20 日&#xff0c;DeepSeek 发布了全新的开源推理大模型 DeepSeek-R1。 这一模型在数学、编程和推理等多个任务上达到了与 OpenAI o1 相当的表现水平&#xff0c;同时将 API 调用成本降低了 90-95%。 这一发布不仅引发了 AI …