MySQL - 库的操作

news2024/11/23 15:12:50

目录

  • 1.库的操作
    • 1.1创建数据库
    • 1.2创建数据库案例
  • 2.字符集和校验规则
  • 3.操纵数据库
  • 4.备份和恢复
  • 5.查看连接情况

1.库的操作

1.1创建数据库

语法:

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,
create_specification] ...]
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

说明:

  • 大写的表示关键字

  • [] 是可选项

  • CHARACTER SET: 指定数据库采用的字符集

  • COLLATE: 指定数据库字符集的校验规则

1.2创建数据库案例

创建名为 db1 的数据库

create database db1;

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

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

create database db2 charset=utf8;

创建一个使用utf字符集,并带校对规则的 db3 数据库。

create database db3 charset=utf8 collate utf8_general_ci;

2.字符集和校验规则

数据读取和存储都有对应的编码格式。存和取时必须统一用什么编码!

举个例子🌰
存的时候就好比一个中国人用汉语写了一本日记,取的时候(读),一个不懂汉语的美国人去读取,他肯定读不懂

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

  1. 数据库编码集 —— 数据库存储数据的标准
  2. 数据库校验集 —— 支持数据库进行字段比较、查找、匹配…使用的编码

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

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

2.2 查看数据库支持的字符集

show charset;

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

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

show collation;

2.4 校验规则对数据库的影响

  • 不区分大小写

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

create database test1 collate utf8_general_ci;
create table person(name varchar(20));
insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');
  • 区分大小写

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

create database test2 collate utf8_bin;
use test2
create table person(name varchar(20));
insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');
  • 进行查询

不区分大小写的查询以及结果

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

区分大小写的查询以及结果

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

不区分大小写排序以及结果:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

区分大小写排序以及结果:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

当我们对数据库数据进行查找匹配分析时,使用的就是校验集;上图中显示的例子中就展现了不同校验集所带来不同的结果。
我们平时在创建数据库时一般不会自己设置字符集和校验集,此时就是缺省使用配置文件中的设置。

3.操纵数据库

3.1 查看数据库

show databases;

3.2 显示创建语句

show create database 数据库名;

示例:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

说明:

  • MySQL 建议我们关键字使用大写,但是不是必须的。

  • 数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字

  • /*!40100 default… */ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话

3.3 修改数据库

语法:

ALTER DATABASE db_name
[alter_spacification [,alter_spacification]...]

alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

说明:

  • 对数据库的修改主要指的是修改数据库的字符集,校验规则

实例: 将 mytest 数据库字符集改成 gbk

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.4 数据库删除

DROP DATABASE [IF EXISTS] db_ name;

执行删除之后的结果:

数据库内部看不到对应的数据库

对应的数据库文件夹被删除,级联删除,里面的数据表全部被删

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

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

4.备份和恢复

4.1 备份

语法:

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

示例:将mytest库备份到文件(退出连接)

\# mysqldump -P3306 -u root -p123456 -B mytest > D:/mytest.sql

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们在其他目录文件夹中,执行备份语句后,在此文件夹中就会生成一个备份了数据库的文件
注意:执行备份语句要退出mysql

这时,可以打开看看 mytest.sql 文件里的内容,其实把我们整个创建数据库,建表,导入数据的语句都装载这个文件中,不只是单独的数据库数据。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4.2 还原

mysql> source D:/mysql-5.7.22/mytest.sql;

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

因为备份文件中存储的是我们对于这个数据库所有的操作语句和数据,因此我们使用还原语句时,相当于系统自动帮我们把历史的操作语句再执行了一次,以达到还原数据库的效果。

4.3 注意事项

  • 如果备份的不是整个数据库,而是其中的一张表,怎么做?
\# mysqldump -u root -p 数据库名 表名1 表名2 > D:/mytest.sql
  • 同时备份多个数据库
\# mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径
  • 如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原。

5.查看连接情况

语法:

show processlist

示例:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

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

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

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

相关文章

python小工具分享:优雅地实现进度条和系统通知

shigen坚持日更的博客写手,擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。坚持记录和分享从业两年以来的技术积累和思考,不断沉淀和成长。 趁着休息的空隙,研究了一下两个比较有意思的脚本,在日常的使用中很…

【Effective C++】条款45: 运用成员函数模板接受所有兼容的类型

假设有如下继承结构: class Top{}; class Middle: public Top{}; class Bottom: public Middle{};public继承意味着is-a关系,所有的基类都是派生类,但反之则不是,例如所有的学生都是人,但不是所有的人都是学生. 派生类到基类的指针可以直接隐式转换 Top* pt1 new Middle; T…

用自己的数据集训练YOLO-NAS目标检测器

YOLO-NAS 是 Deci 开发的一种新的最先进的目标检测模型。 在本指南中,我们将讨论什么是 YOLO-NAS 以及如何在自定义数据集上训练 YOLO-NAS 模型。 在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 -…

7+单细胞分析+预后模型构建+验证实验思路,干湿结合也能拿高分

今天给同学们分享一篇单细胞分析肿瘤预后模型构建验证实验思路的生信文章“Identification of a novel immune-related gene signature for prognosis and the tumor microenvironment in patients with uveal melanoma combining single-cell and bulk sequencing data”&…

SpringMVC简单介绍与使用

目录 一、SpringMVC介绍 二、SpringMVC作用 三、SpringMVC核心组件 四、SpringMVC快速体验 一、SpringMVC介绍 Spring Web MVC是基于Servlet API构建的原始Web框架,从一开始就包含在Spring Framework中。正式名称“Spring Web MVC”来自其源模块的名称&#xff…

UE5数字孪生制作(一) - QGIS 学习笔记

1.下载 QGIS是免费的GIS工具,下载地址: https://www.qgis.org/en/site/ 2.安装 - 转中文 按照步骤安装,完成后,在菜单 设置settings里,选择options,修改语言 确定后,需要重启下软件 3.学习视…

聊聊展会接待接待客户会用到的一些英语话术

第三期广交会依然在进行中,周六也就结束了,不知道大家这次参展的效果如何?昨晚略看了一下毅冰老师的直播课,他讲的也是和展会有关的内容,稍微摘抄了一些客户来展位时的交流英语,大家可以一起看看。 作为参展…

Numpy数值计算Numpy初体验在线闯关_头歌实践教学平台

Numpy数值计算初体验 第1关 Numpy创建数组第2关 Numpy数组的基本运算第3关 Numpy数组的切片与索引第4关 Numpy数组的堆叠第5关 Numpy的拆分 第1关 Numpy创建数组 任务描述 本关的小目标是,使用 Numpy 创建一个多维数组。 测试说明 本关的测试过程如下: 平台运行ste…

C# Winform串口助手

界面设置 修改控件name属性 了解SerialPort类 实现串口的初始化,开关 创建虚拟串口 namespace 串口助手 {public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){//在设计页面已经预先…

手写一个uniapp的步骤条组件

在template实现 <template><view class"process_more"><!-- 步骤条 --><view class"set-2" :key"index" v-for"(item,index) in options"><!-- 图片 --><view class"img-border"><…

造物者:专注游戏音乐创造——奏响游戏世界乐章

游戏的世界宛如一幅壮丽的画卷&#xff0c;由华丽的图像和引人入胜的故事构成&#xff0c;然而&#xff0c;其完美之作还有一部分不可或缺的元素&#xff0c;那就是音乐。在这个数字时代&#xff0c;北京造物者科技有限公司&#xff08;以下简称造物者&#xff09;正崭露头角&a…

【RP-RV1126】配置一套简单的板级配置

文章目录 官方配置新建一套新配置新建板级pro-liefyuan-rv1126.mk配置文件新建一个Buildroot的defconfigs文件 吐槽&#xff1a;RP-RV1126 的SDK奇怪的地方make ARCHarm xxx_defconfig 生成的.config文件位置不一样savedefconfig命令直接替换原配置文件坑爹的地方 Buildroot上增…

【本周骑行香杆箐活动简介】- 探索秋天的美景与健康同行

校长骑行的骑友们&#xff0c;大家好&#xff01;在这个秋高气爽的季节里&#xff0c;是不是已经跃跃欲试&#xff0c;想要投入大自然的怀抱&#xff0c;感受那无比清新的空气和金黄色的落叶呢&#xff1f;别再犹豫了&#xff0c;让我们一起骑行在香杆箐&#xff0c;体验一次不…

91 前K个高频元素

前K个高频元素 题解1 大根堆(STL) 给你一个整数数组 nums 和一个整数 k &#xff0c;请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 示例 1: 输入: nums [1,1,1,2,2,3], k 2 输出: [1,2] 示例 2: 输入: nums [1], k 1 输出: [1] 提示&#xff1a;…

KADP应用加密组件实现数据动态脱敏 安当加密

动态脱敏是一种针对敏感数据进行数据抽取、数据漂白和动态掩码的专业数据脱敏技术。它通过在不动数据库中原始数据的前提下&#xff0c;依据用户的角色、职责和其他IT定义身份特征&#xff0c;动态的对生产数据库返回的数据进行专门的屏蔽、加密、隐藏和审计。可确保不同级别的…

双十一数码推荐什么?双十一选购攻略大全!实用数码产品推荐!

​在双十一这个购物狂欢节里&#xff0c;各大品牌和商家都会推出各种优惠活动&#xff0c;为消费者提供丰富的购物选择。在这个特殊的日子里&#xff0c;你是否也准备为自己或亲朋好友选购一些数码好物呢?本次推荐将为你精选一些值得购买的数码产品&#xff0c;让你在双十一这…

MATLAB和西门子SMART PLC OPC通信

西门子S7-200SMART PLC OPC软件的下载和使用,请查看下面文章 Smart 200PLC PC Access SMART OPC通信_基于pc access smart的opc通信_RXXW_Dor的博客-CSDN博客文章浏览阅读2.7k次,点赞2次,收藏5次。OPC是一种利用微软COM/DCOM技术达成自动控制的协议,采用典型的C/S模式,针…

(01)Mycat说明与介绍

1、Mycat是什么 Mycat是一个数据库中间件&#xff0c;前身是阿里的cobar。 2、Mycat可以用来做什么 1.读写分离 2.数据分片 &#xff08;1&#xff09;垂直拆分 &#xff08;2&#xff09;水平拆分 &#xff08;3&#xff09;垂直水平拆分 3.多数据源整合 3、Mycat实现的…

前端出大事儿了

大家好&#xff0c;我是风筝 文章首发于 前端出大事儿了 最近这两天&#xff0c;在前端圈最火的图片莫过于下面这张了。 这是一段 React 代码&#xff0c;就算你完全没用过 React 也没关系&#xff0c;一眼看过去就能看到其中最敏感的一句代码&#xff0c;就是那句 SQL 。 咱…

Linux安装sysv-rc-conf报错:出现NO_PUBKEY...问题,急需安装证书的情况

Linux下安装MySQL时&#xff0c;出现一个使用chkconfig命令&#xff0c;但无该命令的情况&#xff01; chkconfig --add mysql # 出现chkconfig command not found于是就展开了一次替换的行动&#xff0c;将chkconfig替换为sysv-rc-conf 第一步&#xff1a; 尝试直接安装&am…