【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 ,如果查出某个用户不是你正常登陆的,很有可能你的数据库被人入侵了。
当发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python||数据分析之pyecharts 绘图(词云、气泡)

1. echarts 和 Pyecharts 简介 1.1echarts 简介: • echarts 是一个使用 JavaScript 实现的开源可视化库,涵盖各行业图表,满足各种需求。 • echarts 遵循 Apache-2.0 开源协议,免费商用。 • ECharts 最初由百度团队开源,并于 2018 年初捐赠给 Apache 基金会,成为 AS…

算法day12

算法day12 二叉树理论基础114 二叉树的前序遍历145 二叉树的后序遍历94 二叉树的中序遍历迭代法 二叉树理论基础 直接看代码随想录就完事了,之前考研也学过,大概都能理解 我这里就说说代码层面的。 二叉树的存储: 1、链式存储:这…

内容检索(2024.02.12)

随着创作数量的增加,博客文章所涉及的内容越来越庞杂,为了更为方便地阅读,后续更新发布的文章将陆续在此做简介并附上原文链接,感兴趣的小伙伴们可持续关注文章发布动态: 信号仿真类话题如何看待频域与时域的仿真差别-…

猫头虎分享已解决Bug || Python Error: ImportError: No module named ‘module_name‘

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

数学建模:EWM – TOPSIS 超强讲义! 原理、应用、代码

目录 一、综合评价指标预处理 1.定量指标的一致化处理(正向化处理) 2.定量指标的无量纲化处理 二、熵权法(EWM) 三、TOPSIS法 四、熵权法-TOPSIS的使用流程 案例:熵权法-TOPSIS的案例分析:水质评价 …

贪吃蛇的实现,基于windows操作系统

前言: 贪吃蛇从学习到真正实现花了9天实现,第一二天第一次学习,第三四五天第二次学习,第六七八天一边实现一边思考,才完成了贪吃蛇的代码。实现了贪吃蛇以后已经接近过年,我想自己再根据掌握的知识制作烟花…

leetcode 461. 汉明距离

比较简单的一题,先对两个整数进行异或操作,会将两个整数二进制形式中各个数字进行异或操作,不同的数字则为1,再通过移位操作统计得到的二进制数中为1的个数,即为所求。 Java代码如下: class Solution {pub…

STM32 STD/HAL库驱动W25Q64模块读写字库数据+OLED0.96显示例程

STM32 STD/HAL库驱动W25Q64 模块读写字库数据OLED0.96显示例程 🎬原创作者对W25Q64保存汉字字库演示: W25Q64保存汉字字库 🎞测试字体显示效果: 📑功能实现说明 利用W25Q64保存汉字字库,OLED显示汉字的时…

SVD奇异值分解

一、奇异值 奇异值(Singular Values)是线性代数中矩阵的重要性质之一,与奇异值分解(SVD)密切相关。让我们来更详细地了解一下奇异值的概念: 定义: 对于一个矩阵 ( A ),它的奇异值是…

【Chrono Engine学习总结】4-vehicle-4.1-vehicle的基本概念

由于Chrono的官方教程在一些细节方面解释的并不清楚,自己做了一些尝试,做学习总结。 1、基本介绍 Vehicle Overview Vehicle Mannel Vehicle的官方demo 1.1 Vehicle的构型 一个车辆由许多子系统构成:悬挂、转向、轮子/履带、刹车/油门、动…

双场板功率GaN HEMT电容模型以精确模拟开关行为

标题:Capacitance Modeling in Dual Field-Plate Power GaN HEMT for Accurate Switching Behavior(TED.16年) 摘要 本文提出了一种基于表面电位的紧凑模型,用于模拟具有栅极和源极场板(FP)结构的AlGaN/G…

JMM(Java内存模型)

Java内存模型(Java Memory Model,简称JMM)是Java语言规范中定义的一个抽象概念,它描述了程序中各个变量(包括实例字段、静态字段和构成数组对象的元素)在并发环境下的访问规则和一致性保证。JMM的主要目标是…

python+flask+django医院预约挂号病历分时段管理系统snsj0

技术栈 后端:python 前端:vue.jselementui 框架:django/flask Python版本:python3.7 数据库:mysql5.7 数据库工具:Navicat 开发软件:PyCharm . 第一,研究分析python技术&#xff0c…

点云标注工具

目录 3d手势识别 c 3d关键点,Bounding Box Labels Rectangle Labels KITTI 3D Ground Truth Annotator c标注工具 3d手势识别 GitHub - 99xtaewoo/Automated-Hand-3D-pose-annotation-Tool: Automated Hand 3D pose annotation Tool c 3d关键点,Bou…

【Django】Django文件上传

文件上传 1 定义&场景 定义&#xff1a;用户可以通过浏览器将图片等文件上传至网站。 场景&#xff1a; 用户上传头像。 上传流程性的文档[pdf&#xff0c;txt等] 2 上传规范-前端[html] 文件上传必须为POST提交方式 表单 <form> 中文件上传时必须带有 enctype…

电视上如何下载软件

电视上如何下载软件&#xff0c;告诉大家一个简单的方法&#xff0c;可以用DT浏览器下载软件&#xff0c;然后会自动安装这个软件&#xff0c;如有技术问题&#xff0c;可以免费解答

【初中生讲机器学习】8. KNN 算法原理 实践一篇讲清!

创建时间&#xff1a;2024-02-11 最后编辑时间&#xff1a;2024-02-12 作者&#xff1a;Geeker_LStar 你好呀~这里是 Geeker_LStar 的人工智能学习专栏&#xff0c;很高兴遇见你~ 我是 Geeker_LStar&#xff0c;一名初三学生&#xff0c;热爱计算机和数学&#xff0c;我们一起加…

从零开始学howtoheap:fastbins的house_of_spirit攻击3

how2heap是由shellphish团队制作的堆利用教程&#xff0c;介绍了多种堆利用技术&#xff0c;后续系列实验我们就通过这个教程来学习。环境可参见从零开始配置pwn环境&#xff1a;从零开始配置pwn环境&#xff1a;从零开始配置pwn环境&#xff1a;优化pwn虚拟机配置支持libc等指…

Python:解析获取连续的重叠对pairwise

简介&#xff1a;pairwise函数&#xff0c;返回从输入迭代器获取的重叠对的迭代器&#xff0c;是Python 3.10 新特性&#xff0c;表示一个迭代器从对象中获取连续的重叠对&#xff0c;在某些场景中可以优化代码运行效率。pairwise 函数是一种用于处理列表中元素之间配对操作的通…

渗透专用虚拟机(公开版)

0x01 工具介绍 okfafu渗透虚拟机公开版。解压密码&#xff1a;Mrl64Miku&#xff0c;压缩包大小&#xff1a;15.5G&#xff0c;解压后大小&#xff1a;16.5G。安装的软件已分类并在桌面中体现&#xff0c;也可以使用everything进行查找。包含一些常用的渗透工具以及一些基本工…