[MySQL] MySQL库的基础操作

news2024/11/23 9:12:05

文章目录

一、数据库的创建

1、1 库的创建

1、2 字符集与校验规则

1、2、1 查看字符集与校验规则

1、2、2 字符集与校验规则的设置 

 1、2、3 校验规则对数据库的影响

二、数据库的操作

2、1 查看数据库

2、2 删除数据库

2、3 修该数据库

2、4 数据库删除和备份

2、5 显示创建语句

2、6 查看连接情况

三、总结


🙋‍♂️ 作者:@Ggggggtm 🙋‍♂️

👀 专栏:MySQL 👀

💥 标题:MySQL库的基础操作💥

 ❣️ 寄语:与其忙着诉苦,不如低头赶路,奋路前行,终将遇到一番好风景 ❣️

一、数据库的创建

1、1 库的创建

  在使用数据库时,最先操作的就是创建一个数据库。使用语法如下:’

CREATE DATABASE [IF NOT EXISTS] database_name [[DEFAULT] CHARSET=charset_name] [[DEFAULT] COLLATE=collation_name];

  对上述语句进行简单说明:

  • 大写的表示关键字;
  • [] 是可选项;
  • CHARACTER SET: 指定数据库采用的字符集;
  • COLLATE: 指定数据库字符集的校验规则
  我们直接看一个实例:
  上述即为一个最为简单的创建数据的例子。当我们创建成功时,下面会给出我们提示。其中我们并没有提到字符集与校验规则。下面我们详细看一下到底字符集与校验规则的具体使用。

1、2 字符集与校验规则

  在创建数据库时,字符集和校验规则是非常重要的设置,它们决定了数据库中能够存储的字符类型以及如何校验输入的数据。其中,字符集是一套符号和编码的规则校验规则则是对该套符号和编码的校验,定义符号的排序和比较规则。下面我们结合实际例子来理解。

1、2、1 查看字符集与校验规则

  当我们在创建数据库时,我们并没有指定字符集与校验规则时,系统会默认给我们选择符集与校验规则。我们可以通过查看MySQL系统变量variables中的character_set_database,可以得知系统默认的字符集。具体如下图:

  类似的,通过查看系统变量variables中的collation_database,可以得知系统默认的字符集校验规则。具体如下图:

  其实,默认的字符集校验规则都是与我们安装MySQL时的配置文件有关。我们也可查看配置文件 /etc/my.cnf。具体如下图:

  我们可以先在Linux下通过指令:show collation 查看数据库支持所有的校验规则。具体如下图:

  通过指令:show charset 来查看字符集。具体如下图:

1、2、2 字符集与校验规则的设置 

  在我们上面的创建数据库时,并没有指定其字符集与校验规则,那么他们会是什么呢?我们不妨看一下。

  在Linux下,我们所安装的数据库的客户端在:/var/lib/mysql 路径下。当我们创建数据库时,对应到Linux上就是创建的一个目录,本质上就是在创建一个文件。具体如下图:

  从上图中能够查看到有一个test1的目录,这也就是我们刚刚在mysql中创建的数据库。其中包含了一个 db.opt 文件,这个文件中就包含了我们创建数据库时的字符集与校验码,如下图:

  当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8校验规则是:utf8_ general_ ci

  下面我们在创建数据库时自己设置字符集与校验码,具体如下图:

  当然,我们可以通过查询所有的字符集与校验码进行任意设置,但是需要注意的是我们应该使用匹配的字符集与校验码!

 1、2、3 校验规则对数据库的影响

  我们这里再次理解一下检验规则的概念:校验规则是对该套符号和编码的校验,定义符号的排序和比较规则。为了保证证读取的数据和存储的数据是一致的,因此字符集编码格式和校验规则必须是对应的。utf8编码格式的校验规则有utf8_general_ci、utf8_bin、utf8_unicode_ci等校验规则。

  当然,校验规则涉及到了对数据库中是数据进行增删查改的影响了。举个例子来说明一下:如果你的数据库需要对文本进行多语言的比较和排序,可以选择校验规则为utf8_general_ci(UTF-8编码,不区分大小写)。而需要对文本进行大小写敏感的比较和排序时,校验规则应使用utf8_ bin(区分大小写)

  下面我们来结合实际例子看一下。我们在不同校验规则的数据库中创建一个表进行数据插入,在进行排序看结果就可以。

  我们先来看一下校验规则为utf8_general_ci的数据库,具体如下图:

  当我们想要查找name = ‘a’ 时,也就是进行比较表中的名字为 ‘a’ 的数据。运行结果如下图:

  如上图,我们可以很清晰的看到,当我们在校验时,校验规则为utf8_general_ci并不区分大小写的!

  我们再来看一下校验规则为utf8_ bin的数据库。具体如下图:

  我们再来查看name = ‘a’的数据,看看校验时是否区分大小写。具体如下图:

  我们看到,在读取校验数据时会以严格的规则来筛选数据,也就是区分大小写的。我们也可通过排序进行观察,如下图:

  排序就是根据字符的ascll码进行排序的,默认是升序的。如果不区分大小写,那么结果就是a A b B c C。

二、数据库的操作

2、1 查看数据库

  查看数据库也就是我们查看我们当前都创建了哪些数据库。使用语句:show databases

具体如下图:

  在Linux下,可能操作一段时间后,我们就会不知道当前处于那个数据库里面了。可通过 select database() 语句来查看你所处的数据库。具体如下图:

  删除数据库时,会将数据库内的数据一同全部删除。所以不建议创建数据库后直接对数据库进行删除。

2、2 删除数据库

  删除数据库的语句如下:DROP DATABASE [IF EXISTS] db_name;。具体如下图:

2、3 修该数据库

  对数据库进行修改的语句:ALTER DATABASE db_name CHARACTER SET charset_name COLLATE collation_name。注意,这里的修改并不是指的修改数据库的名字,而是修改的是字符集和校验规则。我们看实例操作:

  注意:为了保证数据库的稳定性和安全性,大多数数据库系统都不支持对库名的修改操作。如果确实需要修改库名,通常需要先备份数据库,然后创建新的库,并将所有相关的对象从旧库迁移到新库。 下面我们看一下数据库的删除和备份。

2、4 数据库删除和备份

  我们在数据库备份时,要使用专门的数据库备份软件。这里我们直接使用 mysqldump 进行备份。备份语句如下:

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

  我们在备份时,备份的路径可以自己选择。同时,应该可以很方便的能够找到自己所备份的文件。具体如下图:

  这时候我们就生成了备份文件。不妨打开备份文件看看里面的内容,如下图:

  通过上图我们也能看出来,备份的文件中就是保存了我们在创建该数据库时的所有指令。例如建数据库、创建表、插入数据等SQL语句。

  对数据库进行备份后,就可以将原有的数据库进行删除了。建议:如果非要删除数据库,一般情况下建议先备份,后删除。

  接下来我们看怎么将备份的数据库文件进行恢复。恢复的语句:source 备份文件所在的路径。具体如下:

  我们再来看是否恢复了原来的数据库,如下图:

  我么不仅仅可以备份整个数据库,还可以备份数据库中的表。语句如下:

mysqldump -u root -p 数据库名 表名1 表名2 > 所要备份的路径

   其备份原理和恢复的原理都一样,这里就不再过多解释。当然,我们也可以同时备份多个数据库。语句如下:

mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径

2、5 显示创建语句

  我们也可查看当时创建数据库时所用到的语句。可使用:show create database 数据库名 进行查看。具体如下图:

  注意:

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

2、6 查看连接情况

  有时候我们在使用数据库时,感觉到卡顿。可以查看当前都有谁在操作这个数据库。可使用show processlist命令可以查看当前正在运行的进程列表。具体实例如下图:

  这个列表包含了数据库中所有正在运行的查询、操作和其他活动。以下是一些常见的属性:

  1. Id:进程的唯一标识符。
  2. User:正在运行这个进程的用户。
  3. Host:正在运行这个进程的主机。
  4. db:正在使用的数据库。
  5. Command:正在运行的命令或操作。
  6. Time:进程开始运行的时间。
  7. State:进程的状态,例如“Sleeping”、“Running”、“Writing”等。
  8. Info:有关进程的其他信息,例如正在执行的SQL语句、正在等待的锁等。

  这些属性可以帮助你了解数据库中正在运行的活动,以及它们的状态和进度。例如,如果你发现某个查询正在运行很长时间,你可能需要检查它的SQL语句,看看是否有优化的空间。或者,如果你发现数据库正在等待锁,你可能需要检查是否有并发问题。

三、总结

  数据库的基本语句我们还是必要掌握的。这些也都是数据库入门基础必学的。下面文章我们再来详细解释一下数据库中的表的一些操作。感谢阅读ovo~

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

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

相关文章

基于OpenFOAM求解器二次开发

OpenFOAM(Open Field Operation and Manipulation)是一个开源的计算流体动力学(CFD)软件包。它提供了各种模拟和建模工具,用于研究和解决复杂的流体流动问题。 OpenFOAM提供了一个强大的求解器库,可以用于…

金融信贷行业如何准确——大数据精准定位获客渠道

通过大数据精准获客,不仅可以及时拦截网址浏览量,还可以访问移动贷款应用软件的高频活跃客户和新注册客户。此外,通过大数据进行准确的客户获取,还可以获得电话座机号码的实时通信记录,捕捉小程序应用程序和关键词搜索…

Kafka中遇到的错误:

1、原因:kafka是一个去中心化结果的,所以在启动Kafka的时候,每一个节点上都需要启动。 启动的命令:kafka-server-start.sh -daemon /usr/local/soft/kafka_2.11-1.0.0/config/server.properties

Windows 根据dll生成 lib文件

假设我们现在只有dll,没有lib ,因此有源码但是在Visual Studio 20XX中代码确编译不过去,因为缺少lib文件。 接下来,黄强老师来帮大家演示,如何从dll 反推 lib文件,打开这个工具 第一步,查看一下大概的函数,确认dll有你想要的函数 dumpbin /exports 你的.dll > f…

贺天下功夫酱酒闪耀亮相2023佛山秋色系列活动

11月1日至5日,2023年广东非遗周暨佛山秋色巡游系列活动在佛山举行,以“品味佛山 秋醉岭南”为主题,好戏连台。贵州贺天下酒业独家赞助佛山祖庙秋祭、乡饮酒礼,还全面参与佛山秋色巡游、佛山非遗美食展、佛山非遗音乐会等多个活动&…

vue3 - swiper插件 实现PC端的 视频滑动功能(仿抖音短视频)

swiper官网 ​​​​​​swiper属性/组件查询 vue中使用swiper 步骤&#xff1a; ① npm install swiper 安装 ② 基础模板&#xff1a; <div><swiper class"swiper-box" :direction"vertical":grabCursor"true" :mousewheel"tr…

强化学习中广义策略迭代

一、广义策略迭代 策略迭代包括两个同时进行的交互过程&#xff0c;一个使价值函数与当前策略保持一致&#xff08;策略评估&#xff09;&#xff0c;另一个使策略在当前价值函数下变得贪婪&#xff08;策略改进&#xff09;。在策略迭代中&#xff0c;这两个过程交替进行&…

在Word中优雅的给公式编号,且自动更新

本文适用情景&#xff1a; 使用Word插入公式&#xff1b;需要给公式增加编号&#xff1b;且在正文中引用&#xff0c;支持自动更新序号。 Word自带公式编号 1 Word自带公式编辑器1.1 问题1.2 原因完美解决 2 MathType公式编辑器end: 后记&#xff1a; 1 Word自带公式编辑器 或…

投资自己,成就未来——人大女王金融硕士助力您成为金融领域的佼佼者

在这个日新月异的时代&#xff0c;金融行业的发展日益繁荣&#xff0c;对于金融人才的需求也越来越大。为了应对这一挑战&#xff0c;越来越多的人选择投身金融领域&#xff0c;提升自己的专业素养。而中国人民大学女王金融硕士项目&#xff0c;正是为了满足这一需求而设立的&a…

接口测试系列之——接口安全测试

“开源 Web 应用安全项目”(OWASP)在 2019 年发布了 API 十大安全风险 《OWASP API 安全 Top10》&#xff1a;失效的对象级别授权、失效的用户身份验证、过 度的数据暴露、资源缺乏和速率限制、失效的功能级授权、批量分配、安全配置 错误、注入、资产管理不当、日志和监视不足…

进程管理(一)

程序执行分析及前趋图 前驱图是有向图。 P2的执行是以P1的执行完成为条件的,或者P2是依赖P1的。 P1的有向边指向P2。 程序顺序执行 程序并发执行 I输入,C计算,P输出 第二道程序的输入和第一道程序的计算是同时进行。斜着是一个程序。 进程的定义及特征 <

WMS仓储管理系统中常见的波次划分策略

在如今高度竞争的物流行业中&#xff0c;提高订单处理效率和资源利用率是企业追求的关键目标。为了实现这些目标&#xff0c;一种被广泛应用的方法是采用拣货波次计划。本文将详细解析拣货波次计划的概念、意义以及在WMS仓储管理系统中的实现过程。 拣货波次计划是一个将不同订…

基于swing的人事管理系统

概述 个人项目人事管理系统&#xff0c;针对部门和人员之间的管理。 详细 一、项目UI 二、项目结构 三、项目使用方法 Eclipse导入现有现有项目到工作空间即可&#xff0c;会自动加载包内相关jar包&#xff0c;使用的java源文件 四、部分代码 MainFrm.java package view…

IP-guard WebServer 远程命令执行漏洞

IP-guard WebServer 远程命令执行漏洞 免责声明漏洞描述漏洞影响漏洞危害网络测绘Fofa: app="ip-guard"漏洞复现1. 构造poc2. 访问文件3. 执行命令免责声明 仅用于技术交流,目的是向相关安全人员展示漏洞利用方式,以便更好地提高网络安全意识和技术水平。 任何人不得…

playwright与cypress各有什么优势与劣势

Playwright和Cypress都是用于自动化测试的工具&#xff0c;但它们在一些方面有所不同。 Playwright的优势&#xff1a; 跨浏览器支持&#xff1a;Playwright支持多种浏览器&#xff0c;包括Chrome、Firefox和Safari等&#xff0c;可以在不同浏览器上运行测试&#xff0c;提高…

对象反序列化

使用到的流是对象字节输入流&#xff1a;ObjectInputStream 作用&#xff1a;以内存为基准&#xff0c;把存储到磁盘文件中去的对象数据恢复成内存中的对象&#xff0c;称为对象反序列化。 ObjectInputStream反序列化方法 /**目标&#xff1a;学会进行对象反序列化&#xff1…

c语言刷题第10周(16~20)

规律&#xff1a; 若多个次数最多按ASCII码顺序输出。 用for循环i取&#xff08;0~26&#xff09; 则输出满足条件的字符串中位置最靠前的那个。 用while循环遍历&#xff08;while&#xff08;a[i]!\0&#xff09;&#xff09; 从键盘输入任意只含有大小写字母的串s&…

Python全栈安全:构建安全的全栈应用

&#x1f482; 个人网站:【工具大全】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 第一部分&#xff1a;全…

2022ICPC济南站

K Stack Sort 题意&#xff1a;给你一个长度为n的排列&#xff0c;设有m个栈&#xff0c;你需要将这n个数按出现顺序入栈&#xff0c;每次入栈操作从m个栈中选择一个栈从栈顶入栈。当所有元素入栈完成后&#xff0c;需要不断选择栈&#xff0c;将栈中元素弹空。需满足出栈顺序…