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

【MySQL】库的操作

​🌠 作者:@阿亮joy.
🎆专栏:《零基础入门MySQL》
🎇 座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根
在这里插入图片描述

目录

    • 👉库的操作👈
      • 查看数据库
      • 删除数据库
      • 创建数据库
      • 修改数据库
      • 备份和恢复数据库
      • 查看连接情况
    • 👉字符集和校验规则👈
      • 查看系统默认字符集以及校验规则
      • 校验规则对数据库的影响
    • 👉总结👈

👉库的操作👈

查看数据库

show databases;#执行结果
+--------------------+
| Database           |
+--------------------+
| information_schema |
| 105_db             |
| my_db              |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
6 rows in set (0.00 sec)

如果在/var/ib/mysql路径下创建一个目录文件,那么这个目录文件也会被当成数据库的,但是不建议这么做!

在这里插入图片描述

删除数据库

drop database [if exists] db_name;

其中,db_name是要删除的数据库名称。if exists 是一个可选的关键字,如果使用它,当数据库不存在时不会抛出错误。

使用该语句将彻底删除整个数据库,包括其中的所有表、索引、视图、存储过程、触发器等对象,所以在使用之前需要非常谨慎。通常情况下,要先备份要删除的数据库,以防意外发生。

需要注意的是,只有拥有 drop 权限的用户才能执行该语句。

在这里插入图片描述

创建数据库

create database [if not exists] db_name 
[create_specification [, create_specification ...]]create_specification:[default] character set charset_name[default] collate collation_name

注:

  • [] 为可选项
  • character set 指定数据库采用的字符集
  • collate 指定数据库字符集的校验规则
  • 如果没有指定字符集和校验规则,则会使用 MySQL 默认的字符集和校验规则。

查看创建数据库的详细信息

show create database db_name;

在这里插入图片描述
在这里插入图片描述

注:MySQL 是大小写不敏感的,所以 SQL 语句中的关键字可以大写,也可以小写。如果要创建的数据库与关键字冲突,可以给数据库名带上反引号 `。

在这里插入图片描述

修改数据库

alter database db_name
[alter_spacification [,alter_spacification]...]alter_spacification:
[default] character set charset_name
[default] collate collation_name

注:对数据库的修改主要指的是修改数据库的字符集,校验规则,并不允许修改数据库的名字。

在这里插入图片描述

备份和恢复数据库

mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径

示例:

mysqldump -P3306 -uroot -p -B bin_db > bin.db.sql

在这里插入图片描述
在这里插入图片描述

注:bin_db.sql 中的内容都是该数据库使用过的 SQL 语句(创建数据库,建表,导入数据),将这些 SQL 语句全部执行一次就恢复出原来的数据库。除了备份 SQL 语句,还可以直接备份数据库的数据。但是备份 SQL 语句更好,这样可以知道使用数据库时的上下文。

source /var/lib/mysql/bin_db.sql; #还原数据库

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

如果备份的不是整个数据库,而是其中一张表或者多个数据库,可以采用下面的语句:

#备份多张表
mysqldump -uroot -p 数据库名 表名1 表名2 > D:/mytest.sql
#备份多个数据库
mysqldump -uroot -p -B 数据库名1 数据库名2 ... > 数据库存放路径

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

查看连接情况

show processlist;

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

👉字符集和校验规则👈

MySQL 的字符集是用于定义数据库中存储和操作字符数据的规则集。MySQL 支持多种字符集,如 ASCII、Latin1、UTF-8等。

每个字符集都有一套校验规则,用于定义在特定字符集中哪些字符是有效的,哪些是无效的。MySQL 的校验规则是以校验字符集的方式实现的,即当存储或操作字符数据时,MySQL 将根据所选字符集的校验规则进行验证。校验规则还定义了如何排序和比较字符数据。

注:一般字符集和校验规则是匹配的!设置数据库的字符集和校验规则本质是影响对应数据库内部的表所对应的编码和校验规则。

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

variables 是指系统或用户可配置的变量,它们可以在运行时控制 MySQL 的行为和性能。MySQL 中的变量可以分为全局变量和会话变量。

全局变量是在 MySQL 服务器启动时初始化的,并且在整个 MySQL 进程的生命周期中保持不变。例如,可以使用 global 前缀来设置或获取全局变量:

set globalvariable_name = value;
select @@global.variable_name;

会话变量则只与当前会话相关,会话在连接到服务器时启动并在断开连接时结束。可以使用 session 前缀来设置或获取会话变量:

set sessionn variable_name = value;
select @@session.variable_name;

可以通过 show variables 命令来查看当前 MySQL 服务器中所有可配置变量的值和状态。

show variables like 'character_set_database';
show variables like 'collation_database';
show charset; #查看MySQL支持的字符集
show collation; #查看MySQL支持的校验规则

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

一个字符串可能有多种校验规则,Default collation 是该字符集对应的默认校验规则。

创建数据库时可以指定数据库的字符集和校验规则。如果没有指定字符集和校验规则,则会使用 MySQL 默认的字符集和校验规则;如果指定字符集和校验规则,就会使用指定的字符集和校验规则。

在这里插入图片描述

校验规则对数据库的影响

  • 创建一个数据库,校验规则使用不区分大小写的 utf8_ general_ci

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 创建一个数据库,校验规则使用 区分大小写的 utf8_bin

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

👉总结👈

本篇博客主要讲解了数据库的查看、删除、创建、修改、备份和恢复、查看数据库连接情况以及字符集和校验规则等等。以上就是本篇博客的全部内容了,如果大家觉得有收获的话,可以点个三连支持一下!谢谢大家啦!💖💝❣️

http://www.lryc.cn/news/96449.html

相关文章:

  • Java设计模式之工厂模式
  • 正则表达式-速成教程
  • C语言中的数组(详解)
  • 【App管理04-Bug修正 Objective-C语言】
  • 黑客自学笔记(网络安全)
  • action=store_true和store_false理解及实战测试
  • Android 通用带箭头提示窗
  • 隧道安全监测解决方案
  • 3 Linux基础篇-VMware和Linux的安装
  • 什么是预处理器指令,常用的预处理器指令有哪些?什么是运算符,C 语言中的运算符有哪些?
  • 新功能 – Cloud WAN:托管 WAN 服务
  • FPGA_学习_13_方差计算小模块
  • 如何安装多个版本的python,python可以装两个版本吗
  • 深入理解JVM:Java使用new创建对象的流程
  • 【MySQL】索引与B+树
  • “使用Spring Boot快速构建Java Web应用“
  • 面试题汇总——设计模式
  • Java SpringMvc
  • JVM运行时区域——对象创建内存分配过程
  • Springboot项目排除Bean的方法
  • 阿里云国际版云服务器防火墙设置
  • 科技资讯|苹果开放Vision Pro头显开发套件申请,此前曝光三款电池
  • Langchain 的 LLMChain
  • 100天精通Golang(基础入门篇)——第17天:深入解析Go语言中的指针
  • 第七章:WILDCAT: 弱监督学习的深度卷积神经网络用于图像分类、点位定位和分割
  • Axios-post请求下载文件
  • 视频增强技术-对比度增强
  • uni-app点击按钮弹出提示框(以弹窗的形式显示),选择确定和取消
  • linux部署es+kibana
  • 二十三种设计模式第十七篇--迭代子模式