【MySQL】操作库 —— 库的操作 -- 详解

一、增删数据库

1、创建数据库

create database db_name;

本质就是在 /var/lib/mysql 创建一个目录。

说明:
  • 大写的表示关键字。
  • [ ] 是可选项。
  • CHARACTER SET指定数据库采用的字符集
  • COLLATE指定数据库字符集的校验规则


2、数据库删除

drop database [IF EXISTS] db_ name;

本质就是删除目录。 

执行删除之后的结果:

  • 数据库内部看不到对应的数据库。
  • 对应的数据库文件夹被删除,级联删除,里面的数据表全部被删。

注意:不要随意删除数据库。


二、认识系统编码

1、 字符集和校验规则

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

  1. 数据库编码集(数据库未来存储数据)
  2. 数据库校验集(支持数据库,进行字段比较的编码,本质也是一种读取数据库中数据的采用的编码格式)

数据库无论对数据做任何操作,都必须保证操作和编码必须是编码一致的。 


(1)查看系统默认字符集以及校验规则
show variables like 'character_set_database';

show variables like 'collation_database'; 


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

show charset;

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


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

show collation;


三、指定编码创建数据库

1、创建名为 d1 的数据库

说明:当创建数据库没有指定字符集和校验规则时,
  • 系统使用默认字符集:utf8
  • 校验规则是:utf8_general_ ci


2、创建一个使用 utf8 字符集的 d2 和 d3 数据库(两种写法)


3、创建一个使用 utf8 字符集,并带校对规则的 d4 数据库


4、创建一个使用 gbk 字符集,并带校对规则的 d5 数据库


四、验证不同校验编码的影响 

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

(1)不区分大小写
  • 创建一个数据库,校验规则使用 utf8_ general_ ci不区分大小写)

  • 插入数据并查询

select 是从表里查询,通配符* 代表将表里的数据都显示出来。

插入的本质是存取,采用 default-character-set=utf8,也就是存取时所用的编码。

查询时是按照校验集的要求来查找的。


  • 结果排序

注意:这里默认是升序排序。不区分大小写时,是将大小写看成一整组来进行排序。


(2)区分大小写

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


  • 插入数据并查询

  • 结果排序

注意:这里是默认升序排序。


五、库的删改查

1、数据库删除

drop database [IF EXISTS] db_ name;

本质就是删除目录。 

执行删除之后的结果:

  • 数据库内部看不到对应的数据库。
  • 对应的数据库文件夹被删除,级联删除,里面的数据表全部被删。

注意:不要随意删除数据库。


2、 显示创建语句

show create database 数据库名;

说明:
  • MySQL 建议关键字使用大写,但不是必须的。
  • 数据库名字的反引号 ``,是为了防止使用的数据库名刚好是关键字。
  • /*!40100 DEFAULT CHARACTER SET utf8 */ 这个在这里不是注释的意思,而是表示当前 mysql 版本大于 4.01 版本的话,就执行这句话。

3、修改数据库

alter database db_name [alter_spacification [,alter_spacification]...]

alter_spacification:
  • [DEFAULT] CHARACTER SET charset_name
  • [DEFAULT] COLLATE collation_name
对数据库的修改主要指的是修改数据库的字符集,校验规则。
  • 将 test2 数据库字符集改成 gbk


4、查看数据库

show databases;

查询当前所在数据库:


六、库的备份与恢复

1、备份

# mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径
  • 将 test1 库进行备份
  • 这时,可以打开看看 test1.sql 文件里的内容
  • 其实就是把我们整个创建数据库,建表,导入数据的语句都装载这个文件中。

2、恢复

mysql> source /root/MySQL/test1.sql (还原文件的路径)


3、注意事项

如果备份的不是整个数据库,而是其中的一张表,怎么做?
# mysqldump -u root -p 数据库名 表名1 表名2 > /root/MySQL/test1.sql

同时备份多个数据库该怎么做?
# mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径

如果备份一个数据库时,没有带上  -B  参数,那么在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用 source 来还原。

4、查看连接情况

show processlist;

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

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

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

相关文章

Linux第51步_移植ST公司的linux内核第3步_添加修改设备树

1、设备树文件的路径 1)、创建linux中的设备树头文件 在“my_linux/linux-5.4.31/arch/arm/boot/dts/”目录中,以“stm32mp15xx-edx.dtsi”为蓝本,复制一份,并命名为 “stm32mp157d-atk.dtsi”,这就是我们开发板的设备树头文件。…

【stomp实战】Springboot+Stomp协议实现聊天功能

本示例实现一个功能,前端通过websocket发送消息给后端服务,后端服务接收到该消息时,原样将消息返回给前端。前端技术栈htmlstomp.js,后端SpringBoot 前端代码 关于stomp客户端的开发,如果不清楚的,可以看…

机器学习10-特征缩放

特征缩放的目的是确保不同特征的数值范围相近,使得模型在训练过程中更加稳定,加速模型收敛,提高模型性能。具体而言,零均值和单位方差的目标有以下几点好处: 1. 均值为零(Zero Mean)&#xff1a…

15 ABC基于状态机的按键消抖原理与状态转移图

1. 基于状态机的按键消抖 1.1 什么是按键? 从按键结构图10-1可知,按键按下时,接点(端子)与导线接通,松开时,由于弹簧的反作用力,接点(端子)与导线断开。 从…

【开源】SpringBoot框架开发天沐瑜伽馆管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 瑜伽课程模块2.3 课程预约模块2.4 系统公告模块2.5 课程评价模块2.6 瑜伽器械模块 三、系统设计3.1 实体类设计3.1.1 瑜伽课程3.1.2 瑜伽课程预约3.1.3 系统公告3.1.4 瑜伽课程评价 3.2 数据库设计3.2.…

牛客周赛 Round 32 F.小红的矩阵修改【三进制状态压缩dp】

原题链接:https://ac.nowcoder.com/acm/contest/75174/F 时间限制:C/C 1秒,其他语言2秒 空间限制:C/C 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 小红拿到了一个字符矩阵,矩阵中仅包含&q…

java 执行方式和类加载过程

java默认属于混合执行: 编译和解释并存 java先进行解释执行,遇到多次重复的代码会把它编程成可执行文件,方便下次直接执行。 可以通过VM参数来修改执行方式。 类加载过程

Nacos、Eureka、Zookeeper、Consul对比

开发中,经常需要对微服务进行管理,所以需要引入一些服务治理的中间件,用于注册、发现服务,常见的服务治理中间件为 服务治理中间件 【1】Nacos 【2】Eureka 【3】Zookeeper 【4】Consul(Consul 所在的 HashiCorp 公司…

从完成[flutter竖向显示文字]到对实现方式[Rich Text和Text Span]的一些整理

前言 完成的需求是竖向显示文字,而已有的RotatedBox虽然可以让文字内部控件进行指定角度的旋转,但是不能保持文字仍正常显示(它会因为旋转横着),遂尝试Rich Text和Text Span的方式,这两个我曾在android有略…

红队笔记Day2 -->上线不出网机器

今天就来讲一下在企业攻防中如何上线不出网的机器!! 1.基本网络拓扑 基本的网络拓扑就是这样 以下是对应得的P信息,其中的52网段充当一个内网的网段,而111充当公网网段 先ping一下,确保外网ping不通内网,内…

文档类图像的智能识别,百度、阿里、华为腾讯开放接口

文档类图像的智能识别是指利用人工智能技术对文档图像进行自动识别和信息提取。在我国,百度、阿里、华为和腾讯等科技巨头都提供了相应的开放接口,方便开发者集成和使用文档类图像识别功能。以下是这些公司提供的相关开放接口: 1. 百…

微信小程序(四十一)wechat-http的使用

注释很详细,直接上代码 上一篇 新增内容: 1.模块下载 2.模块的使用 在终端输入npm install wechat-http 没有安装成功vue的先看之前的一篇 微信小程序(二十)Vant组件库的配置- 如果按以上的成功配置出现如下报错先输入以下语句 …

leetcode 24

24. 两两链表交换链表中的节点 已经给出了链表节点结构类: public class ListNode {int val;ListNode next;ListNode() {}ListNode(int val) { this.val val; }ListNode(int val, ListNode next) { this.val val; this.next next; }} 简而言之,我们…

DS:单链表实现队列

创作不易,友友们来个三连支持吧! 一、队列的概念 队列:是只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out)的特点。 入队列:进行插入操作…

leetcode题目记录

文章目录 单调栈[127. 单词接龙](https://leetcode.cn/problems/word-ladder/)[139. 单词拆分](https://leetcode.cn/problems/word-break/)[15. 三数之和](https://leetcode.cn/problems/3sum/)[140. 单词拆分 II](https://leetcode.cn/problems/word-break-ii/)[113. 路径总和…

《数字孪生城市建设指引报告(2023年)》指引智慧城市行动方向

2023年12月27日,中国信息通信研究院(简称“中国信通院”)产业与规划研究所、中国互联网协会数字孪生技术应用工作委员会和苏州工业园区数字孪生创新坊联合发布《数字孪生城市建设指引报告(2023年)》。该报告提出了三大…

PostgreSQL的学习心得和知识总结(一百二十八)|构建 PostgreSQL 负载测试器

目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《PostgreSQL数据库内核分析》 2、参考书籍:《数据库事务处理的艺术:事务管理与并发控制》 3、PostgreSQL数据库仓库链接,点击前往 4、日本著名PostgreSQL数据库专家 铃木启修 网站…

Linux:docker在线仓库(docker hub 阿里云)基础操作

把镜像放到公网仓库,这样可以方便大家一起使用,当需要时直接在网上拉取镜像,并且你可以随时管理自己的镜像——删除添加或者修改。 1.docker hub仓库 2.阿里云加速 3.阿里云仓库 由于docker hub是国外的网站,国内的对数据的把控…

.NET Core 3 foreach中取索引index

for和foreach 循环是 C# 开发人员工具箱中最有用的构造之一。 在我看来,迭代一个集合比大多数情况下更方便。 它适用于所有集合类型,包括不可索引的集合类型(如 ,并且不需要通过索引访问当前元素)。 但有时&#xf…

Verilog刷题笔记30

题目: You are provided with a BCD one-digit adder named bcd_fadd that adds two BCD digits and carry-in, and produces a sum and carry-out. 解题: module top_module( input [399:0] a, b,input cin,output cout,output [399:0] sum );reg [99…