当前位置: 首页 > 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

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

👉总结👈

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

相关文章:

【MySQL】库的操作

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

Java设计模式之工厂模式

什么是工厂模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 工厂模式提供了一种将对象的实例化过程封装在工厂类中的方式。通过使用工厂模式&#xff…...

正则表达式-速成教程

正则表达式-速成教程 今天遇到一枚程序媛在群里吐槽,并附了截图;然后无意中看到她的一个正则与她的注释描述不一致,就提醒了一下。顺带着给了个速成教程,在这里把这个速成教程贴出来,一是为了自己备份;二是…...

C语言中的数组(详解)

C语言中的数组(详解) 一、一维数组1.一维数组的创建2.数组的初始化3.一维数组的使用4.一维数组在内存中的存储二、二维数组1.二维数组的创建2.二维数组的初始化3.二维数组的使用4.二维数组在内存中的存储三、数组越界四、数组作为函数参数1.冒泡排序2.数…...

【App管理04-Bug修正 Objective-C语言】

一、咱们刚才已经把这个给大家做完了吧 1.这个Label怎么显示到上面去了, 我们现在是把它加到我们的控制器的View里面吧 我们看一下这个坐标是怎么算的,来,我们找一个坐标, 咱们的坐标,是不是用这个View的frame,减的吧 来,咱们在这里,输出一下这个Frame,看一下吧 在…...

黑客自学笔记(网络安全)

一、黑客是什么 原是指热心于计算机技术,水平高超的电脑专家,尤其是程序设计人员。但后来,黑客一词已被用于泛指那些专门利用电脑网络搞破坏或者恶作剧的家伙。 二、学习黑客技术的原因 其实,网络信息空间安全已经成为海陆空之…...

action=store_true和store_false理解及实战测试

store_true 是指带触发 action 时为真,不触发则为假, 即默认 False ,传参 则 设置为 True store_false 则与之相反 以代码为例: import sys import argparse def parse_args():parser argparse.ArgumentParser(descriptionrun …...

Android 通用带箭头提示窗

简介 自定义PopupWindow, 适用于提示类弹窗。 使用自定义Drawable设置带箭头的背景,测试控件和弹窗的尺寸,自动设置弹窗的显示位置,让箭头指向锚点控件的中间位置,且根据锚点控件在屏幕的位置,自动适配弹窗显示位置。…...

隧道安全监测解决方案

隧道安全监测 解决方案 一、监测目的 通过监控量测,实现信息化施工,不仅能及时掌握隧道实际的地质情况,掌握隧道围岩、支护衬砌结构的受力特征和变形情况,据此可以尽早发现塌方、大变形等灾害征兆,及时采取措施&…...

3 Linux基础篇-VMware和Linux的安装

3 Linux基础篇-VMware和Linux的安装 文章目录 3 Linux基础篇-VMware和Linux的安装3.1 安装VMware和CentOS3.1.1 VM安装3.1.2 Centos7.6的安装步骤 3.3 虚拟机基本操作3.4 安装VMtools3.5 设置共享文件夹 学习视频来自于B站【小白入门 通俗易懂】2021韩顺平 一周学会Linux。可能…...

什么是预处理器指令,常用的预处理器指令有哪些?什么是运算符,C 语言中的运算符有哪些?

1.什么是预处理器指令,常用的预处理器指令有哪些? 预处理器指令是一种用于在源代码编译之前进行预处理的特殊指令。它们通过在程序编译之前对源代码进行处理,可以在编译阶段之前进行一些文本替换、条件编译等操作,从而对源代码进…...

新功能 – Cloud WAN:托管 WAN 服务

我很高兴地宣布,我们推出了 Amazon Cloud WAN,这是一项新的网络服务,它可以轻松构建和运营连接您的数据中心和分支机构以及多个 Amazon 区域中的多个 VPC 的广域网(WAN)。 亚马逊云科技开发者社区为开发者们提供全球的…...

FPGA_学习_13_方差计算小模块

测距器件APD的性能与器件本身的温度、施加在APD的偏置电压息息相关。 在不同的温度下,APD的偏压对测距性能的影响非常大。 要确定一个合适的APD的偏压Vopt,首先你要知道当前温度下,APD的击穿电压Vbr,一般来讲,Vopt Vb…...

如何安装多个版本的python,python可以装两个版本吗

这篇文章主要介绍了可不可以在同一台计算机上安装多个python版本,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。 1、不同版本的python不能安装到同一台计算机上 可以的&#…...

深入理解JVM:Java使用new创建对象的流程

1、创建对象的几种方式 ①new 对象 ②反射 ③对象的复制 ④反序列化 2、创建对象流程 先看看常量池里面有没有,如果有,就用常量池的看这个类有没有被加载过,如果没有,就执行类加载以及类的初始化。(对象的大小&#…...

【MySQL】索引与B+树

【MySQL】索引与B树 索引概念前导硬件软件方面 索引的理解单个page多个page引入B树B树的特征为什么B树做索引优于其他数据结构?聚簇索引与非聚簇索引辅助索引 索引的创建主键索引的创建和查看唯一键索引的创建和查看普通索引的创建和查看复合索引全文索引索引的其他…...

“使用Spring Boot快速构建Java Web应用“

标题:使用Spring Boot快速构建Java Web应用 摘要:本文介绍了如何使用Spring Boot快速构建Java Web应用。通过Spring Boot的自动配置和约定优于配置的特性,开发人员可以轻松地搭建一个简单且高效的Web应用。本文将通过一个示例代码详细演示Sp…...

面试题汇总——设计模式

简单介绍 设计模式共有23种,创建型模式5种,结构型模式7种,行为型模式11种 创建型: 关注对象的创建过程,将对象的创建和使用分开,在使用对象时无须知道对象的创建细节。对象实例化的模式,创建型模式用于解耦对象的实例化过程。单例模式、工厂方法模式、抽象工厂模式、建造…...

Java SpringMvc

0目录 java SpringMvc拓展 1.SpringMvc 创建工程,导入依赖 配置 web.xml文件 配置Spring配置文件,resources目录下新建applicationContext.xml 控制层配置 新建list.jsp并测试 Web.xml详解 如果required是true必须要传参 设置默…...

JVM运行时区域——对象创建内存分配过程

新创建的对象,都存放在伊甸园区域,当垃圾回收时,将伊甸园区域的垃圾数据销毁,然后将存活的对象转移到幸存者0区域,之后创建的新的对象还是存放在伊甸园区域,等到再次垃圾回收后,将伊甸园区域和幸…...

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子&#xff08…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...

安卓基础(aar)

重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...

Git常用命令完全指南:从入门到精通

Git常用命令完全指南:从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...

深入理解Optional:处理空指针异常

1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...

Django RBAC项目后端实战 - 03 DRF权限控制实现

项目背景 在上一篇文章中,我们完成了JWT认证系统的集成。本篇文章将实现基于Redis的RBAC权限控制系统,为系统提供细粒度的权限控制。 开发目标 实现基于Redis的权限缓存机制开发DRF权限控制类实现权限管理API配置权限白名单 前置配置 在开始开发权限…...

C++ Saucer 编写Windows桌面应用

文章目录 一、背景二、Saucer 简介核心特性典型应用场景 三、生成自己的项目四、以Win32项目方式构建Win32项目禁用最大化按钮 五、总结 一、背景 使用Saucer框架,开发Windows桌面应用,把一个html页面作为GUI设计放到Saucer里,隐藏掉运行时弹…...

Yolo11改进策略:Block改进|FCM,特征互补映射模块|AAAI 2025|即插即用

1 论文信息 FBRT-YOLO(Faster and Better for Real-Time Aerial Image Detection)是由北京理工大学团队提出的专用于航拍图像实时目标检测的创新框架,发表于AAAI 2025。论文针对航拍场景中小目标检测的核心难题展开研究,重点解决…...

使用python进行图像处理—图像变换(6)

图像变换是指改变图像的几何形状或空间位置的操作。常见的几何变换包括平移、旋转、缩放、剪切(shear)以及更复杂的仿射变换和透视变换。这些变换在图像配准、图像校正、创建特效等场景中非常有用。 6.1仿射变换(Affine Transformation) 仿射变换是一种…...