【MySQL 03】库的操作 (带思维导图)

news2024/11/14 20:16:12
  • 前置:之后的所有的 SQL 语句中,凡是被中括号 [ ] 括起来的均为可选项

🌈 一、创建数据库

数据库创建语句

  • 创建数据库本质就是在 /var/lib/mysql创建一个目录

  • if not exists:如果指定数据库不存在则创建该数据库,如果存在则无事发生。

create database [if not exists] 数据库名;

image-20240809103108083

🌈 二、查看数据库

1. 查看所有的数据库

  • 查看当前用户下所能查看的数据库。
  • 本质就是查看 /var/lib/mysql 中的所有目录
show databases;

image-20240809103518609

2. 查看当前正在使用的数据库

select database();

image-20240809151716966

🌈 三、使用数据库

  • 一般而言,数据库是有很多的,需要指定自己要使用哪个数据库。
use 数据库名;

image-20240809113005338

🌈 四、修改数据库

  • 对数据库的修改主要指的是修改数据库的字符集、校验规则。
alter database 数据库名 charset=指定字符集 collate 指定校验规则;

🌈 五、删除数据库

  • 删除数据库的本质就是,删除 /var/lib/mysql 中的删除指定目录
  • if exists 选项表示如果指定数据库存在则将其删除,如果不存在则无事发生。
drop database [if exists] 数据库名;

image-20240809103710105

  • 直接删除数据库会将该库内的表也全部删除,特别不推荐直接删除数据库,如果非要删除,也要先对该数据库进行备份

🌈 六、备份数据库

1. 备份数据库语法

  • 在命令行输入以下指令备份指定数据库到指定位置。
  • 备份不止是备份对应数据的数据,还会将对被备份数据库曾经的有效操作也给备份。
sudo mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径

2. 备份数据库案例

  • 使用如下指令将 db1 数据库备份到当前目录形成一个 test.sql 目录。
sudo mysqldump -P3306 -u root -p -B db1 > test.sql

image-20240809153607303

🌈 七、恢复数据库

1. 恢复数据库语法

  • 将对指定数据库的历史操作在新的 sql 中重新执行一遍。
mysql> source 备份文件所在路径;

2. 恢复数据库案例

image-20240809154254213

🌈 八、字符集和校验规则

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

  1. 数据库编码集:数据库未来存储数据所要采用的编码集。
    • 只要是数据,都要有对应的编码格式,而像数据库这种专门与数据打交道的就更不用说了。
  2. 数据库校验集:支持数据库,进行字段比较使用的编码,本质也是读取数据库中数据所采用的编码格式。
    • 使用对数据库中的数据进行查找或匹配等需要比较的操作时,想要比较就要读取出来,在读的时候使用的校验规则。
  • 结论:数据库无论对数据做任何操作,都必须保证操作和编码必须是编码一致的!

⭐ 1. 查看系统默认字符集及校验规则

  1. 查看系统默认字符集:
show variables like 'character_set_database';

image-20240809110031973

  1. 查看系统默认校验规则:
show variables like 'collation_database';

image-20240809105954180

⭐ 2. 查看数据库支持的字符集

show charset;
  • 可能会因为 MySQL 配置文件的差异而导致字符集有所差异。

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

show collation;
  • 查看的是字符集所对应的校验规则。

🌈 九、思维导图

image-20240809114339428

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[Java]面向对象-static继承

Static static表示静态,是Java中的一个修饰符,可以修饰成员方法、成员变量 静态变量: 被static修饰的成员变量,叫静态变量 特点: 被该类所有对象共享 调用方式:1.类名调用 2.对象名调用 静态方法&…

PyFluent入门之旅(8) PyFluent API 分类与区别

PyFluent提供了两种主要的API来与Ansys Fluent进行交互: Settings APITUI API 通过这两种接口方式,可以控制 Ansys Fluent 的各个方面,包括从网格生成到后处理的所有操作。 分类 Settings API pyFluent 的 Settings API类似于 Ansys Flu…

线性表——数据结构

线性表 文章目录 线性表线性表的定义和基本操作线性表的定义线性表的基本操作 线性表的顺序表示顺序表的定义顺序表的实现——静态分配顺序表的实现——动态分配顺序表的特点 线性表的定义和基本操作 线性表的定义 线性表(Linear List)的定义 ​ 线性…

略谈set与map的pair封装与进入哈希

引子:之前我们讲了红黑树的自实现,与小小的接口实现,那set与map的pair封装是如何实现的呢?,今天我们来一探究竟,而且我们也要进入新章节--哈希 对于operator--()的封装: 注意:牢记思…

动手学深度学习V2每日笔记(批量归一化、ResNet)

本文主要参考沐神的视频教程 https://www.bilibili.com/video/BV1Uv411G71b/spm_id_fromautoNext&vd_sourcec7bfc6ce0ea0cbe43aa288ba2713e56d https://cv.gluon.ai/model_zoo/classification.html 文档教程 https://zh-v2.d2l.ai/ 本文的主要内容对沐神提供的代码中个人不…

【OpenHarmony】openharmony移植到RK3568------搭建开发环境

一、关于OpenHarmony OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促…

各种高端链游 区块链游戏 休闲小游戏DAPP开发

【西游闯关】-高端区块链3D手游 【我朝有马】-高端区块链3D手游 【弹弹岛2】-高端区块链3D手游

FiddlerCharles请求包导入Postman教程

前言 晓杰因开发需要经常需要使用抓包工具进行抓包然后使用POSTMAN测试,每次复制都很麻烦,就想着如何直接抓包工具中导出,postman导入! Fiddler 这个有2个方案,第一个方案是因为第二个方案发现的! 方案…

html+css+js网页设计 找法网2个页面(带js)ui还原度百分之90

htmlcssjs网页设计 找法网2个页面(带js)ui还原度百分之90 网页作品代码简单,可使用任意HTML编辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑…

私域流量运营中的精准量化与开源AI智能名片O2O商城小程序的应用深度解析

摘要:在数字化时代,私域流量作为品牌直接与消费者建立联系的重要桥梁,其管理和运营策略直接影响着企业的市场竞争力。本文深入探讨了私域流量运营的底层逻辑——精准量化运营,详细分析了其核心要素及实现路径。同时,结…

Java学习篇(一)| 如何生成分布式全局唯一ID

Java学习篇(一)| 如何生成分布式全局唯一ID 一、使用场景二、常用方法1、UUID (尽量不要用)2、数据库自增 (用的最多-但不适合做分布式ID)3、Redis 生成ID (可用)1、原因2、通过代码…

AI革新3D建模:Stable Fast 3D工具的高效应用——图片快速生成3D模型

在3D建模领域,AI技术的介入正引发一场革命。Stable Diffusion(SD)的最新应用——Stable Fast 3D,为快速生成3D模型提供了一个强大的解决方案。以下是对这项技术及其应用的详细介绍和优化建议。 一、工具概览 Stable Fast 3D模型:这是一个基于AI的3D模型生成工具,可通过H…

Linux基础-总结篇

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 经过前面30多小节的内容介绍,我们从虚拟机的安装,到Linux文件的基本操作(增删改查),打包…

贪心算法总结(3)

一、最长回文串 409. 最长回文串 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int longestPalindrome(string s) {int hash[127]{0};for(char&ch:s) hash[ch];int ret0;for(int&x:hash) retx/2*2; //技巧1 利用向下取整return ret<s.size()?…

linux文件——深度学习文件fd、文件系统调用

前言&#xff1a;从本片开始正式进入linux文件的学习&#xff0c;本片内容主要是文件的fd。 本篇内容博主将要先带友友回忆C语言中的文件操作接口&#xff0c;然后再过渡到操作系统中的系统调用的学习&#xff0c;最后理解操作系统中的文件操作。 ps&#xff1a;本节内容设计一…

Android 10.0 DocumentsUI文件管理器首次进入默认显示内部存储文件功能实现

1.前言 在10.0的系统rom定制化开发中,在关于文件管理器的某些功能中,在首次进入文件管理器的时候默认进入下载 文件夹,点击菜单选择内部存储的时候,会显示内部存储的内容,客户开发需要要求默认显示内部存储的文件 接下来分析下功能的实现 如图: 2.DocumentsUI文件管理器首…

入营测评题解

第一题&#xff1a;first 第二题&#xff1a;chengji 打擂台&#xff0c;每个数跟当前最大、最小值比较&#xff0c;维护当前最值即可。 #include<bits/stdc.h> using lllong long; using namespace std;const int N1e610;int n; int x;//1e9, ll最大9e18 ll maxn0,minn…

C++ 新特性 | C++17 常用新特性介绍

目录 1、结构化绑定 2、constexpr扩展 2.1、constexpr lambda 2.2、constexpr if 2.3、constexpr string 4、if with initializer 5、std::optional 6、使用inline定义内联变量 7、std::filesystem库 8、折叠表达式 9、模板的模板参数推导 9.1、从构造函数参数推导…

景联文科技:破解数据标注行业痛点,引领高质量AI数据服务

数据标注行业是人工智能和机器学习领域中一个非常重要的组成部分。随着AI技术的发展&#xff0c;对高质量标注数据的需求也在不断增长。 数据标注市场的痛点 1. 团队管理 在众包和转包模式下&#xff0c;管理大量的标注人员是一项挑战。 需要确保标注人员的专业性、稳定性和…

【ConcurrentHashMap】JDK1.7版本源码解读与分析

如果对文章中提到的与 HashMap 相关的部分有任何疑问, 请移步HashMap源码详解 简介 底层是一个 Segment[] 数组, 每个 Segment对象 内部又有一个 Entry[ ] 数组, 一个 Entry[] 数组就相当于一个HashMap Entry[ ]采用拉链法解决冲突, 但是没有红黑树, 红黑树是1.8才引入的; 一…