【数据库初阶】Linux中库的基础操作

图片名称
🎉博主首页: 有趣的中国人

🎉专栏首页: 数据库初阶

🎉其它专栏: C++初阶 | C++进阶 | 初阶数据结构

在这里插入图片描述

亲爱的小伙伴们,大家好!在这篇文章中,我们将深入浅出地为大家讲解 Linux中库的基础操作 帮助您轻松入门,快速掌握核心概念。


如果文章对您有所启发或帮助,请别忘了 点赞 👍、收藏 🌟、留言 📝 支持!您的每一份鼓励,都是我持续创作的源动力。让我们携手前行,共同进步!

文章目录

    • @[toc]
  • 1. 创建数据库
    • ==<font color = blue>🎧1.1 创建语法🎧==
    • ==<font color = blue>🎧1.2 字符集和校验集🎧==
      • <font color = red>查看字符集和校验集的对应关系
      • <font color = red> 查看不同校验集对数据库的影响
  • 2. 数据库的删改查
    • ==<font color = blue>🎧2.1 删除数据库🎧==
    • ==<font color = blue>🎧2.2 查询数据库🎧==
    • ==<font color = blue>🎧2.3 修改数据库🎧==
  • 3. 数据库的备份和恢复
    • ==<font color = blue>🎧3.1 数据库的备份🎧==
    • ==<font color = blue>🎧3.2 还原数据库🎧==
      • <font color = red> 注意事项
      • <font color = red> 查看链接情况

上一篇文章中,博主介绍了 :

  • 数据库基础知识;
  • Linux系统中如何理解数据库;

建议将上一篇文章看完之后再来看这篇文章,链接如下:

【数据库初阶】数据库基础知识

那么接下来正文开始:



1. 创建数据库

🎧1.1 创建语法🎧

  • 数据库的创建方法很简单,首先输入 mysql -uroot -p, 然后输入密码进入到数据库;
  • 然后输入:CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...] 就可以创建数据库;
    • 其中中括号的内容是可以省略的, IF NOT EXISTS 表示的是如果不存在就创建;
    • db_name 表示的是你要创建的数据库的名称;
    • create_specification 表示的是字符集和校验集,什么是字符集和校验集呢,待会再说。
  • 上篇文章讲到,在Linux中创建数据库本质上就是在/var/lib/mysql这个路径中创建一个目录,因此在create的时候我们可以查看一下。

在这里插入图片描述

🎧1.2 字符集和校验集🎧

  • 我们使用数据库大体分为两个操作,一个是向数据库中写入,另一个是读取数据库中的内容
  • 其中写入操作所用到的叫字符集读取操作所用到的就是校验集
  • 这里要注意的是,在 /etc/my.cnf 这个配置文件中有一个默认字符集,如果我们在创建数据库的时候不做特殊说明,字符集就是继承配置文件中的字符集

在这里插入图片描述

查看字符集和校验集的对应关系

  • 在MySQL中字符集和校验集是有对应关系的;
  • 可以先输入 show variables like 'character_set_database';查看系统默认字符集:

在这里插入图片描述

  • 在输入 show variables like 'collation_database'; 查看系统默认校验集:

在这里插入图片描述

  • 输入 show charset; 查看系统所有字符集:

在这里插入图片描述

  • 类似的,输入 show collation; 查看所有校验集:

在这里插入图片描述

查看不同校验集对数据库的影响

  • 先创建两个数据库,其中一个叫test1,另一个叫test2
  • 他们的字符集都是utf8mb4,让test1的校验集是默认的(不区分大小写),让test2的校验集是utf8mb4_bin(区分大小写)。
  • 下面关于表的操作我们先暂时看一下,下篇文章会细讲。
  1. 创建 test1 数据库:
CREATE DATABASE IF NOT EXISTS test1; 
  1. 创建 test2 数据库:
CREATE DATABASE IF NOT EXISTS test2 COLLATE utf8mb4_bin;

在这里插入图片描述

  1. test1数据库中创建一个person表,向表中插入元素a A b B
use test1;
create table person(name varchar(20));
insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');

在这里插入图片描述

  1. 类似地,在test2数据库中创建一个person表,向表中插入元素a A b B
use test2;
create table person(name varchar(20));
insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');

在这里插入图片描述

  1. test1test2分别进行排序
select * from perosn order by name;
use test2;
select * from person order by name;

在这里插入图片描述


2. 数据库的删改查

🎧2.1 删除数据库🎧

  • 删除数据库的语法 : DROP DATABASE [IF EXISTS] db_ name;

执行删除后的结果:

  • 数据库内部看不到对应的数据库;
  • 对应的数据库文件夹被删除,里面的数据表全部被删;
  • 因此不要轻易删除数据库!!!

🎧2.2 查询数据库🎧

  • 查看数据库的语法:show databases;

  • 查看当前我在哪个数据库中:select database();,这个database()相当于是函数,功能类似于pwd

  • 查看创建数据库细节的语法:show create database 数据库名,例如:
    在这里插入图片描述

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

🎧2.3 修改数据库🎧

  • 语法:ALTER DATABASE db_name [alter_spacification [,alter_spacification]...]
  • 一般改的就是字符集和校验集,例如:
    • alter database test3 charset=gbk;
    • 再输入show create database test3; 查看一下创建细节:

在这里插入图片描述


3. 数据库的备份和恢复

🎧3.1 数据库的备份🎧

  • 一般情况下,不要轻易删除数据库,如果真要删除,请务必要进行备份!
  • 但是不要把/var/lib/mysql路径下的数据库进行拷贝,这样做不太好;
  • 最好用数据库本身自带的备份语法,且这行命令要在shell中输入,不是在MySQL中输入mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径,例如:mysqldump -P3306 -uroot -p -B test1 > /home/dsj/mysql/backup_test2.sql

在这里插入图片描述

  • 查看一下备份文件:

在这里插入图片描述

  • 可以发现这个备份文件存储了我们对这个数据库的所有操作
  • 而不是单纯的将这个数据库的目录拷贝过来。

🎧3.2 还原数据库🎧

  • 还原的语法:mysql> source PATH;
    • 这个PATH就是刚才备份的路径。
  • 需要注意的是,还原要进入数据库操作而不是在shell中操作
  • 例如:mysql> source /home/dsj/mysql/backup_test2.sql;

在这里插入图片描述

  • 值得注意的是,还原也不是直接把文件给拖过来,而是重新执行一遍对此数据库的所有操作。

注意事项

  • 如果备份的不是整个数据库,而是其中的一张表,怎么做?
    • mysqldump -u root -p 数据库名 表名1 表名2 > PATH,例如:
    • mysqldump -uroot -p -P3306 test1 person > /home/dsj/mysql/backup_table_person.sql

在这里插入图片描述

  • 如何同时备份多个数据库呢?

    • mysqldump -u root -p 数据库名 表名1 表名2 > PATH
  • 如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原

    • 因为实际上没有带 -B 参数,在备份文件中是不存在create database 的语句的,其他并没有什么不同,可以来看一下:

在这里插入图片描述

查看链接情况

  • 语法:show processlist
  • 例如:
mysql> show processlist;
+----+-----------------+-----------+-------+---------+---------+------------------------+------------------+
| Id | User            | Host      | db    | Command | Time    | State                  | Info             |
+----+-----------------+-----------+-------+---------+---------+------------------------+------------------+
|  5 | event_scheduler | localhost | NULL  | Daemon  | 6664860 | Waiting on empty queue | NULL             |
| 74 | root            | localhost | test2 | Query   |       0 | init                   | show processlist |
+----+-----------------+-----------+-------+---------+---------+------------------------+------------------+
2 rows in set, 1 warning (0.00 sec)

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

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

相关文章

【机器学习(九)】分类和回归任务-多层感知机(Multilayer Perceptron,MLP)算法-Sentosa_DSML社区版 (1)11

文章目录 一、算法概念11二、算法原理&#xff08;一&#xff09;感知机&#xff08;二&#xff09;多层感知机1、隐藏层2、激活函数sigma函数tanh函数ReLU函数 3、反向传播算法 三、算法优缺点&#xff08;一&#xff09;优点&#xff08;二&#xff09;缺点 四、MLP分类任务实…

【LLM】OpenAI 的DAY12汇总和o3介绍

note o3 体现出的编程和数学能力&#xff0c;不仅达到了 AGI 的门槛&#xff0c;甚至摸到了 ASI&#xff08;超级人工智能&#xff09;的边。 Day 1&#xff1a;o1完全版&#xff0c;开场即巅峰 12天发布会的开场即是“炸场级”更新——o1完全版。相比此前的预览版本&#x…

MaixBit k210学习记录

开发背景&#xff1a;Window系统主机&#xff0c;在主机上安装了虚拟机&#xff08;VirtualBoxUbuntu23.04&#xff09; 目标实现&#xff1a;在虚拟机&#xff08;Ubuntu&#xff09;中&#xff0c;实现对Maix bit&#xff08;k210&#xff09;开发板的开发 虚拟机的安装参考…

ExpDemo-JavaFX打造属于你自己的图形化漏洞利用工具

声明&#xff01;本文章所有的工具分享仅仅只是供大家学习交流为主&#xff0c;切勿用于非法用途&#xff0c;如有任何触犯法律的行为&#xff0c;均与本人及团队无关&#xff01;&#xff01;&#xff01; 目录标题 前言编写属于你的图像化漏洞利用工具项目结构编写EXP部署 部…

串口通信标准RS232、RS422、RS485有什么区别和不同

目录 第一个区别&#xff1a;硬件管脚接口定义不同&#xff1a; 第二个区别、工作方式不同 第三个区别、通信方式不同 第四个区别&#xff0c;逻辑特性不同 第五个区别、抗干扰性、传输距离和传输速率也不同 RS-232与RS-485对比 RS-422与RS-485对比 今天给大家分享的是&…

银河麒麟操作系统安装达梦数据库(超详细)

目录 引言1. 前期准备1.1 安装麒麟系统1.2 下载达梦数据库安装包&#xff08;DM8&#xff09;1.3 上传安装包到麒麟系统1.4 挂载安装包&#xff08;iso&#xff09;文件1.5 配置安装用户和组1.6 创建安装路径及修改权限1.7 设置临时安装目录 2. 安装达梦数据库&#xff08;DM8&…

Linux-frp_0.61.1内网穿透的配置和使用

下载frp frp官网 https://gofrp.org/zh-cn/docs/setup/ frp安装包下载地址 https://github.com/fatedier/frp/releases?page1 下载之后在服务器上 解压 tar -zxvf frp_0.61.1_linux_amd64.tar.gztar&#xff1a;一个用于压缩和解压缩的工具。-z&#xff1a;表示使用 gzi…

04.HTTPS的实现原理-HTTPS的混合加密流程

04.HTTPS的实现原理-HTTPS的混合加密流程 简介1. 非对称加密与对称加密2. 非对称加密的工作流程3. 对称加密的工作流程4. HTTPS的加密流程总结 简介 主要讲述了HTTPS的加密流程&#xff0c;包括非对称加密和对称加密两个阶段。首先&#xff0c;客户端向服务器发送请求&#xf…

【从零开始入门unity游戏开发之——C#篇34】C#匿名函数(delegate )和Lambda表达式

文章目录 一、匿名函数&#xff08;delegate &#xff09;1、什么是匿名函数&#xff1f;2、匿名函数的基本语法2.1 语法2.2 **没有参数的匿名函数&#xff1a;**2.3 **有参数的匿名函数&#xff1a;**2.4 **有返回值的匿名函数&#xff1a;** 3、匿名函数的使用示例3.1 作为参…

IDEA开发Java应用的初始化设置

一、插件安装 如下图所示&#xff1a; 1、Alibaba Java Coding Guidelines 2.1.1 阿里开发者规范&#xff0c;可以帮忙本地自动扫描出不符合开发者规范的代码&#xff0c;甚至是代码漏洞提示。 右击项目&#xff0c;选择《编码规约扫描》&#xff0c;可以进行本地代码规范扫…

代码模拟打字机(python)

回车符\r打印稿纸&#xff0c;time.sleep模拟停顿效果&#xff0c;一顿一顿的打字机效果就此呈现。 (笔记模板由python脚本于2024年12月27日 19:34:37创建&#xff0c;本篇笔记适合有基础编程能力的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.…

让 AMD GPU 在大语言模型推理中崭露头角:机遇与挑战

在当今科技飞速发展的时代&#xff0c;大语言模型&#xff08;LLM&#xff09;的兴起彻底改变了人工智能领域的格局。从智能客服到文本生成&#xff0c;从知识问答到代码编写辅助&#xff0c;大语言模型的应用无处不在&#xff0c;深刻影响着我们的生活和工作。然而&#xff0c…

LLMs之o3:《Deliberative Alignment: Reasoning Enables Safer Language Models》翻译与解读

LLMs之o3&#xff1a;《Deliberative Alignment: Reasoning Enables Safer Language Models》翻译与解读 导读&#xff1a;2024年12月&#xff0c;这篇论文提出了一种名为“审慎式对齐 (Deliberative Alignment)”的新方法&#xff0c;旨在提高大型语言模型 (LLM) 的安全性。论…

音视频入门基础:MPEG2-TS专题(24)——FFmpeg源码中,显示TS流每个packet的pts、dts的实现

音视频入门基础&#xff1a;MPEG2-TS专题系列文章&#xff1a; 音视频入门基础&#xff1a;MPEG2-TS专题&#xff08;1&#xff09;——MPEG2-TS官方文档下载 音视频入门基础&#xff1a;MPEG2-TS专题&#xff08;2&#xff09;——使用FFmpeg命令生成ts文件 音视频入门基础…

微信流量主挑战:用户破16!新增文档转换(新纪元3)

朋友们&#xff0c;报告好消息&#xff01;我的小程序用户数量已经涨到16个了&#xff01;没错&#xff0c;真没拉朋友圈亲戚好友来撑场子&#xff0c;全靠实力&#xff08;和一点点运气&#xff09;吸引了16位陌生小伙伴光临&#xff01;这波进步&#xff0c;连我自己都感动了…

顶顶通呼叫中心中间件mod_cti模块安全增强,预防盗打风险(mod_cti基于FreeSWITCH)

文章目录 前言联系我们mod_cti版本支持安全加强说明 前言 FreeSWITCH暴露在公网最大的风险就是被不法之人盗打 出现盗打的主要原因以下几点&#xff1a; 分机密码太简单或者密码泄露了拨号方案配置不合理sofia配置错误 所以我们给顶顶通呼叫中心中间件添加了安全加强功能&am…

【Halcon】例程讲解:基于形状匹配与OCR的多图像处理(附图像、程序下载链接)

1. 开发需求 在参考图像中定义感兴趣区域&#xff08;ROI&#xff09;&#xff0c;用于形状匹配和文本识别。通过形状匹配找到图像中的目标对象位置。对齐多幅输入图像&#xff0c;使其与参考图像保持一致。在对齐后的图像上进行OCR识别&#xff0c;提取文本和数字信息。以循环…

产品初探Devops!以及AI如何赋能Devops?

DevOps源自Development&#xff08;开发&#xff09;和Operations&#xff08;运维&#xff09;的组合&#xff0c;是一种新的软件工程理念&#xff0c;旨在打破传统软件工程方法中“开发->测试->运维”的割裂模式&#xff0c;强调端到端高效一致的交付流程&#xff0c;实…

python+PyMuPDF库:(一)创建pdf文件及内容读取和写入

目录 文档操作 打开文档 获取文档信息 删除页 复制页 移动页 选择重构合并 保存关闭 页对象操作 内容读取 获取页对象的字体样式 插入文本标签 插入文本内容 字体设置 insert_text添加文本 insert_textbox添加文本 插入图片 获取页面注释、链接、表单字段 …

开源诊断工具Arthas

说明&#xff1a; 1、需要先要安装配置好jdk。 2、你的虚拟机得有网&#xff0c;没有网就按照压缩包上传解压。然后直接看三 一、官网 https://arthas.aliyun.com/doc/quick-start.html#_1-%E5%90%AF%E5%8A%A8-math-game 二、下载和卸载 # 下载 curl -O https://arthas.al…