MySQL —— 库操作

news2024/9/22 4:20:40

目录

一、库操作

1. 创建数据库

2. 创建数据库案例

二、字符集和校验规则

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

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

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

4. 校验规则对数据库的影响 

三、操纵数据库

1. 查看数据库

2. 显示创建语句

3. 修改数据库

4. 删除数据库

5. 备份和恢复

1. 数据库的备份和恢复

2. 表的备份和恢复

四、查看连接情况


一、库操作

1. 创建数据库

CREATE DATABASE [IF NOT EXISTS] db_name [[DEFAULT] CHARSET=charset_name] [[DEFAULT] COLLATE=collation_name];
-----------------------------------------------------------------------------------
create database [if not exists] db_name [[dafault] charset=charset_name] [[default]
collate=collation_name];
  • SQL中大写的表示关键字,[ ]中代表的是可选项。(这里我将所有的大写字母都换成了小写,小写的字母比大写的好认一些,后续我都会给出小写,方便阅读,接下来就不赘述了 )
  • CHARSET(charset)用于指定数据库所采用的编码格式。
  • COLLATE(collate)用于指定数据库所采用的校验规则

注意: 如果创建数据库时未指明数据库的编码格式或校验规则,则默认使用MySQL配置文件中对应的编码格式或校验规则。

2. 创建数据库案例

创建名为db1的数据库

create database db1;

如果没有对MySQL的配置文件进行过修改,则默认的编码格式是utf8,默认的校验规则是utf8_general_ci。

创建一个使用utf8字符集的db2数据库

create database db2 charset=utf8;

SQL中的charset=utf8,也可以写成character set=utf8或character set utf8。 

创建一个使用utf8字符集,并带校规则为utf8_general_ci的db3数据库 

create database db3 charset=utf8 collate=utf8_general_ci;

SQL中的collate=utf8_general_ci,也可以写成collate utf8_general_ci。 

二、字符集和校验规则

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

show variables like 'character_set_database';
show variables like 'collation_database';

 此时查看的字符集和校验规则都是在指定的数据库下

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

show charset;

字符集主要是控制用什么语言。比如utf8就可以使用中文。  

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

show collation;

4. 校验规则对数据库的影响 

  • 不区分大小写

创建一个数据库,校验规则使用 utf8_ general_ ci [不区分大小写]

  • 区分大小写

创建一个数据库,校验规则使用 utf8_ bin校验规则 [区分大小写]

        上面两个数据库我们分别采用了不同的校验规则进行创建,都创建出了一个person表,并向其中插入了四条记录,分别是 a A b B;接下来我们对这两张表做一次查询,看看有什么区别。

        test1表采用的默认的字符集和校验规则,我们通过select查询name等于a的记录,发现显示出来的是a和A,即默认的校验规则utf8_general_ci 是不区分大小写的。

        注:在上面的图中,我才有use test1;时出现的问题:是由于数据库太大,即数据库中表非常多,所以如果预读数据库信息,将非常慢,所以就卡住了,如果数据库中表非常少,将不会出现问题。所以要加一个 -A;

        test2表采用的校验规则是utf8_bin,我们通过select查询name等于a的记录,发现显示出来的是a,即校验规则utf8_bin 是区分大小写的。

三、操纵数据库

1. 查看数据库

show databases;

2. 显示创建语句

show create database 数据库名;

  • MySQL建议SQL中的关键字使用大写,但不是必须的。
  • 数据库的名字加上反引号,是为了防止使用的数据库名与关键字冲突。
  • /*!40100 DEFAULT CHARACTER SET utf8 */不是注释,它表示当前MySQL版本如果大于4.10,则执行后面的SQL语句。

3. 修改数据库

ALTER DATABASE db_name [[DEFAULT] CHARSET=character_name] [[DEFAULT] COLLATE=collation_name];
--------------------------------------------------------------------
alter database db_name [[default] charset=character_name] [[default] collate=collation_name];
说明:
  • 对数据库的修改主要指的是修改数据库的字符集,校验规则

比如将数据库的字符集改为gbk,并将数据库的校验规则改为gbk_bin。如下: 

4. 删除数据库

DROP DATABASE [IF EXISTS] db_name;
----------------------------------
drop database [if exists] db_name;

        删除数据库后该数据库对应的文件夹就被删除了,并且删除数据库后,该数据库下的所有表也都会被级联删除,因此不要随意删除数据库。

5. 备份和恢复 

使用如下命令即可对指定数据库进行备份: 

mysqldump -P 端口号 -u 用户名 -p 密码 -B 数据库名1 数据库名2 ...  > 数据库备份存储的文件路径

1. 数据库的备份和恢复

 为了演示数据库备份,下面我们创建一个数据库,并在该数据库中创建两个表。如下:

在stu表中插入两条记录。如下:

 

在tec表中也插入两条记录。如下:

这时在命令行中执行如下命令即可将该数据库进行备份,并指定将备份后产生的文件存放在当前目录下。如下:

打开log.sql文件即可看到,文件中的内容实际就是我们在该数据库中执行的各种SQL命令,包括创建数据库、创建表、插入数据等SQL语句。如下:

至此我们就完成了数据库的备份

为了演示数据库的恢复,我们将刚刚创建的test1数据库删除:

这时让MySQL服务器执行如下命令即可对数据库进行恢复。如下:

实际恢复数据库的时候就是按顺序执行数据库备份文件中的SQL语句,执行完毕后数据库也就恢复出来了。如下:

同时该数据库下的两张表,以及表当中的数据也都恢复出来了。如下:

2. 表的备份和恢复

表的备份

使用如下命令即可对指定表进行备份:

mysqldump -P 端口号 -u 用户名 -p 密码 数据库名 表名1 表名2 ... > 表备份存储的文件路径

        如果只想备份数据库中的stu表,这时就可以在命令行中执行如下命令,并指定将备份后产生的文件存放在当前目录下。如下:

 这时历史上与stu表相关的SQL语句,就会被保存到备份文件当中。如下:

 至此表的备份就完成了!!

表的恢复 

        表恢复之前需要先选中一个数据库,表明需要将表恢复到哪一个数据库中,为了防止恢复出来的表与该数据库中已有的表的表名重复,一般在恢复表时会选择创建一个空的数据库,然后在该数据库中进行表的恢复。

在数据库中使用如下命令即可对指定表进行恢复:

source 表备份存储的文件路径

创建一个空的数据库test3:

执行如下命令即可对表进行恢复。如下:

        当备份文件中的SQL语句执行完毕后,该数据库下就恢复出了stu表,并且表当中的数据也都恢复出来了。如下:

四、查看连接情况

show processlist;

  • Id列:一个标识,可以在MySQL中通过kill id杀死指定id的线程。
  • User列:显示当前用户,如果不是root,这个命令就只显示你权限范围内的SQL语句。
  • Host列:显示这个语句是从哪个IP的哪个端口上发出的,可用来追踪出问题语句的用户。
  • db列:当前执行的命令是在哪一个数据库上,如果没有指定数据库,则该值为NULL。
  • Command列:显示当前连接执行的命令,一般就是休眠(Sleep)、查询(Query)和连接(Connect)。
  • Time列:表示该线程处于当前状态的时间,单位是秒。
  • State列:显示使用当前连接的SQL语句的状态。
  • Info列:一般记录的是线程执行的语句,默认只显示前100个字符,如果要看全部信息,需要使用show full processlist。

        show processlist可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登录的,那么很有可能你的数据库被人入侵了,以后如果发现自己的数据库比较慢时,可以用这个SQL来查看数据库连接情况。 

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

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

相关文章

Pandas 数据可视化

数据可视化Joyful Pandas基本绘图动手学数据分析2 第二章:数据可视化2.7 如何让人一眼看懂你的数据?2.7.1 任务一2.7.2 任务二2.7.3 任务三2.7.4 任务四2.7.5 任务五2.7.6 任务六2.7.7 任务七Joyful Pandas Datawhale社区 Joyful Pandas 基本绘图 一维…

《深入浅出计算机组成原理》学习笔记 Day9

乘法器1. 顺序乘法2. 并行加速方法3. 电路并行参考1. 顺序乘法 以 13913 \times 9139为例,131011012,9101001213_{10} 1101_2, 9_{10} 1001_21310​11012​,910​10012​。用列竖式的方式计算: 在二进制下,由于只有 0 和 1,计…

逆序对问题、树状数组与离散化

目录 一、前言 二、逆序对问题 1、暴力法 2、归并排序法 3、树状数组与逆序对(最巧妙最好的方法) (1)倒序 (2)正序 (3)离散化 三、例题 1、小朋友排队(lanqiao…

springBoot——SpringBoot 整合 Mybatis 流程

SpringBoot 整合持久层SpringBoot 整合 Mybatis 流程一、添加依赖1. pom.xml二、写配置文件1. application.yml三、写 Java 文件1. entity2. dao3. service4. controller5. mapper四、建立数据库五、测试SpringBoot 整合 Mybatis-Plus 流程一、添加依赖1. pom.xml二、写配置文件…

linux基本功系列之chattr命令

文章目录一. chattr命令介绍二. 语法格式及常用选项三. 参考案例3.1 给指定文件添加隐藏属性,阻止文件被修改:3.2 撤销i属性3.3 允许补充(追加)内容,无法覆盖/删除内容总结前言🚀🚀&#x1f680…

LabVIEW监控操纵杆,键盘或鼠标

LabVIEW监控操纵杆,键盘或鼠标在LabVIEW中从操纵杆/鼠标/键盘获取数据在LabVIEW中监控我的输入设备如何知道键盘上按了哪些键?用轮询的方式监控鼠标,键盘或操纵杆的动作。要在LabVIEW中监控这些设备,可以使用内置的输入设备采集VI…

【STM32】寄存器原理

如果我们想要深入去学习STM32单片机的存储原理和方式,就要花时间去了解STM32单片机有关寄存器的基本原理 单片机型号:正点原子STM32F103ZET6 目录 寄存器的定义 寄存器分类 存储器映射 寄存器映射 通过地址访问控制单元运作 通过定义宏来取代直接访…

C++ 哈希表查询_进入哈希函数结界的世界

1. 前言 哈希表或称为散列表,是一种常见的、使用频率非常高的数据存储方案。 哈希表属于抽象数据结构,需要开发者按哈希表数据结构的存储要求进行 API 定制,对于大部分高级语言而言,都会提供已经实现好的、可直接使用的 API&…

基于PythonOpenCv的视频图像处理

博主简介 博主是一名大二学生,主攻人工智能研究。感谢让我们在CSDN相遇,博主致力于在这里分享关于人工智能,c,Python,爬虫等方面知识的分享。 如果有需要的小伙伴可以关注博主,博主会继续更新的&#xff0c…

【教程】虚拟环境与Pytorch安装保姆级教学

【教程】虚拟环境与Pytorch安装保姆级教学NVIDIA驱动安装虚拟环境创建激活/退出相关库的安装Pycharm内设置虚拟环境Pytorch安装安装地址可能遇到的问题处理报错安装卡顿测试是否安装完成参考NVIDIA驱动安装 NVIDIA驱动可在官网进行安装:NVIDIA驱动官网 命令行输入…

一文上手决策树:从理论到实战

一、基础概念 决策树是一类极为常用的机器学习方法,尤其是在分类场景。决策树通过树形结构来递归地将样本分割到不同的叶子结点中去,并根据每个叶子结点中的样本构成对该结点中的样本进行分类。 我们可以从两个视角来理解决策树模型。 第一种视角是将…

Python副业技术总结,手把手教你用宝塔面板部署Django程序

前言 最近写了几个Django项目,写完以后怎么让对方测试成了问题,因为之前都是自己在本地写的练习项目,对于部署这一块很陌生,不知道怎么操作,内心很忐忑。没办法,只能硬着头皮上,一边百度&#…

17种编程语言实现排序算法-插入排序

开源地址 https://gitee.com/lblbc/simple-works/tree/master/sort/ 覆盖语言:C、C、C#、Java、Kotlin、Dart、Go、JavaScript(JS)、TypeScript(TS)、ArkTS、swift、PHP。 覆盖平台:安卓(Java、Kotlin)、iOS(SwiftUI)、Flutter(Dart)、Window桌面(C#)、…

ARP渗透与攻防(四)之WireShark截获用户数据

ARP-WireShark截获用户数据 系列文章 ARP渗透与攻防(一)之ARP原理 ARP渗透与攻防(二)之断网攻击 ARP渗透与攻防(三)之流量分析 1.WireShark工具介绍 wireshark的官方下载网站: WireShark wireshark是非常流行的网络封包分析软件,功能十分强大。可以…

PowerShell 学习笔记:压缩、解压缩文件

在自动构建的时候&#xff0c;最常用的就是压缩备份项目的源文件&#xff0c;PowerShell提供了相关命令。Compress-Archive&#xff08;压缩文件&#xff09;Compress-Archive[-Path] <String[]>[-DestinationPath] <String>[-CompressionLevel <String>][-P…

Crossplane - 比 Terraform 更先进的云基础架构管理平台?

&#x1f449;️URL: https://crossplane.io/ &#x1f4dd;Description: 将云基础架构和服务组成自定义平台 API 简介 在 11 月的 KCD 上海现场&#xff0c;听了一场阿里云的工程师关于他们自己的多云基础架构管理工具的介绍&#xff0c;前边的引言部分有介绍到 Terraform&am…

连续系统的数字PID控制仿真-3

在连续系统的数字PID控制仿真-2的基础上&#xff0c;利用S函数实现PID离散控制器的Simulink仿真。在S函数中&#xff0c;采用初始化函数、更新函数和输出函数&#xff0c;即 mdlInitializeSizes函数、mdIUpdates函数和mdlOutputs函数。在初始化中采用sizes 结构&#xff0c;选择…

什么是GRACE CPU --- Grace CPU架构详解

深入详解GRACE CPU架构 NVIDIA Grace CPU 是 NVIDIA 开发的第一款数据中心 CPU。 通过将 NVIDIA 专业知识与 Arm 处理器、片上结构、片上系统 (SoC) 设计和弹性高带宽低功耗内存技术相结合&#xff0c;NVIDIA Grace CPU 从头开始构建&#xff0c;以创建世界上第一个超级芯片 用…

Spring控制反转(IoC)和依赖注入(DI)

Spring官网&#xff1a;spring.io1.spring 2.SprinMVC 3.Maven高级 4.SpringBoot 5.MyBatisPlus为什么要学Spring?简化开发&#xff0c;降低企业级开发的复杂度框架整合&#xff0c;高效整合其他技术&#xff0c;提高企业级应用开发与运行效率Spring 系统架构IOC&#xff08;I…

分享132个ASP源码,总有一款适合您

ASP源码 分享132个ASP源码&#xff0c;总有一款适合您 下面是文件的名字&#xff0c;我放了一些图片&#xff0c;文章里不是所有的图主要是放不下...&#xff0c; 132个ASP源码下载链接&#xff1a;https://pan.baidu.com/s/1bk2hftqR5NTdUIT2zvmbiw?pwdke5x 提取码&#x…