[MySQL] MySQL库的基础操作

文章目录

一、数据库的创建

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.mzph.cn/news/140551.shtml

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

相关文章

C#医学检验室(LIS)信息管理系统源码

LIS:实验室信息管理系统 (Laboratory Information Management System简称:LIS)。 LIS 是面向医院检验科、检验中心、动物实验所、生物医疗研究所等科研单位研发的集数据采集、传输、存储、分析、处理、发布等功能于一体的信息管理系统。 一、完善的质控: 从样本管理…

芯片设计工程师必备基本功——《设计与验证:Verilog HDL》

Verilog HDL 作为两大硬件描述语言之一,拥有很大的用户群。据调查,目前美国有 90%左右的 IC 设计人员使用 Verilog. 在中国,大概再 50% 左右的人在使用 Verilog 。 大量高校毕业生和部分软件设计人员正在不断涌入这个领域。要想尽快在 IC设计…

Python开源项目CodeFormer——人脸重建(Face Restoration),模糊清晰、划痕修复及黑白上色的实践

无论是自己、家人或是朋友、客户的照片,免不了有些是黑白的、被污损的、模糊的,总想着修复一下。作为一个程序员 或者 程序员的家属,当然都有责任满足他们的需求、实现他们的想法。除了这个,学习了本文的成果,或许你还…

git02->gui图形化界面使用,ssh协议,idea集成GIT

gui图形化界面使用ssh协议idea集成GIT 1.gui图形化界面使用 2.ssh协议 git/github生成密钥并通过 操作分为本地电脑配置和github网站配置 第一步:本地电脑配置 右键空白处,选择Git Bash Here打开相关命令窗口 1.配置用户名和邮箱(如果已经配…

node插件MongoDB(三)—— 库mongoose 的使用和数据类型(一)

前言 提示:使用mongoose 的前提是你安装了node和 MongoDB。 mongoose 官网文档:http://mongoosejs.net/docs/index.html 文章目录 前言一、安装二、基本使用1. 打开bin目录的mongod.exe文件2. 基本使用的代码(连接mongodb 服务)3.…

基于《环境影响评价技术导则大气环境(HJ 2.2-2018)》的AERMOD模型配置方法

数值模式模拟是分析大气污染物时空分布和成分贡献的重要工具,利用模拟结果可以分析大气污染的来源、成因、污染程度、持续时间、主要成分、相对贡献等问题,有助于分析并合理控制污染源排放,为产业调整提供参考。当前,针对不同理论…

海思平台awb标定

文章目录 1、raw图采集2、awb标定3、标定效果优化1、raw图采集 raw图采集标准: 如果raw是12bit,即raw12,那么Block9 块的亮度就是40960.8 = 3276.8左右。 勾上Dump Raw,我这里raw10,即Depth为10bit,那么Block19的亮度应该为10240.8 = 819.2左右,调整曝光Exposure Attr…

LED显示屏老化知识

LED显示屏老化是指长时间使用后,LED显示屏性能逐渐下降和衰减的过程。虽然LED显示屏具有较长的寿命和良好的稳定性,但长期使用和环境因素会导致一定程度的老化现象。 LED显示屏为什么会老化 1. 亮度衰减:LED显示屏使用时间越长,LE…

蓝桥杯 选择排序

选择排序的思想 选择排序的思想和冒泡排序类似,是每次找出最大的然后直接放到右边对应位置,然后将最 右边这个确定下来(而不是一个一个地交换过去)。 再来确定第二大的,再确定第三大的… 对于数组a[],具体…

keras转onnx,TensorFlow转tf.keras.models.load_model,onnx精度转换

参考: https://blog.csdn.net/Deaohst/article/details/126864267 转onnx 别直接转onnx。 先转PB: import tensorflow as tfmodel_path ./models/model.h5 # 模型文件 model tf.keras.models.load_model(model_path) model.sa…

深入了解springmvc响应数据

目录 一、前后端分离开发与混合开发 1.1 混合开发模式 1.2 前后端分离模式【重点】 二、页面跳转控制 2.1 通过JSP实现页面跳转 2.2 转发与重定向 三、返回JSON数据 3.1 导包与配置 3.2 使用ResponseBody 四、返回静态资源 4.1 为什么无法直接查询静态资源 4.2 配置…

应用在便携式多媒体播放器中的音频Codec芯片

便携式多媒体播放器(PMP,Portable Media Player),也就是通常人们所说的MP4。PMP的主要优点是:携带方便,能够直接播放高品质音/视频文件;也可以浏览图片,以及作为移动硬盘使用;此外,P…

使用matlab实现图像信号的色彩空间转换

利用matlab对图像信号进行读取,并对RGB空间进行转换,如转换到HSI空间等。 下面的这个代码是在使用了rgb2hsi()方法失败后,进行修改的。 rgb2hsi(img)这个方法可以将RGB图像转换为HIS图像;但是爆出了 Untitled5(line 5)hsi rgb2h…

Facebook广告被暂停是什么原因?Facebook广告账号被封怎么办?

许多做海外广告投放的小伙伴经常遇到一个难题,那就是投放的Facebook广告被拒或 Facebook 广告帐户被关闭赞停的经历,随之而来的更可能是广告账户被封,导致资金的损失。本文将从我自身经验,为大家分享,Facebook广告被暂…

哈希竞猜游戏开发源码部署方案

随着互联网技术的发展,越来越多的人开始关注网络安全问题,而哈希算法作为一种重要的加密技术,在网络安全领域得到了广泛应用。其中,哈希竞猜游戏作为一种新型的网络安全挑战赛,也受到了越来越多人的关注。本文将介绍哈…

ISP算法——UVNR

ISP算法——UVNR 概念简介 UVNR也就是经过CSC只有在YUV域对UV两个色域进行降噪,在有些方案里也叫CNR(chroma noise reduction)。主要就是在YUV域针对彩燥进行特殊处理的一系列算法。 关于噪声产生的原因在前面关于降噪的文章和视频中已经做…

Rust写的爬虫代码抓取精美的图片

Rust是一种系统级编程语言,它的设计目标是安全、并发和高效。Rust的爬虫库非常丰富,例如scraper、select、reqwest等等。这些库提供了许多功能,例如HTML解析、HTTP请求、异步处理等等,使得Rust成为一个非常适合编写爬虫的语言。 以…

Outlook如何删除邮箱账户

Outlook如何删除邮箱账户 说明: 最近有用户询问到“我的Outlook登陆了很多个邮箱账号,不知道怎么退出”接下来将具体操作步骤加以说明 操作指引: 1、首先打开Outlook该软件,然后点击“文件” 2、点击账户设置下拉菜单 3、在下拉…

windows HOOK学习(一)

了解HOOK 一:HOOK是什么?二:HOOK的分类三:HOOK的原理?四:为什么全局钩子HOOK必须写到DLL中?五:HOOK的类型 一:HOOK是什么? hook就是我们平时听到的钩子&…

PCA(主成分分析)数据降维技术代码详解

引言 随着大数据时代的到来,我们经常会面临处理高维数据的问题。高维数据不仅增加了计算复杂度,还可能引发“维度灾难”。为了解决这一问题,我们需要对数据进行降维处理,即在不损失太多信息的前提下,将数据从高维空间…