【MySQL系列】MySQL库的学习及基本操作(增删查改)

news2024/12/25 0:01:14

「前言」文章内容大致是数据库的基本操作

「归属专栏」MySQL

「主页链接」个人主页

「笔者」枫叶先生(fy)

「枫叶先生有点文青病」「句子分享」
哪里会有人喜欢孤独,不过是不喜欢失望罢了。
——村上春树《挪威的森林》

MySQL

目录

  • 一、创建/查看数据库
  • 二、删除数据库
  • 三、数据库字符集和数据库校验规则
  • 四、校验规则对数据库的影响
  • 五、修改数据库
  • 六、数据库的备份和恢复
  • 七、查看数据库连接情况

一、创建/查看数据库

创建数据库语法:

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,create_specification] ...]

create_specification的选项:

[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

说明

  • db_name是创建数据库的名字
  • 大写的表示关键字
  • [] 是可选项,可以选择不写
  • CHARACTER SET: 指定数据库采用的字符集
  • COLLATE: 指定数据库字符集的校验规则

查看所有的数据库:

show databases;

在这里插入图片描述
[IF NOT EXISTS]的意思是,如果数据库存在就不创建,数据库不存在就创建。例如创建已经存在的 test数据库

create database if not exists test;
或者 create database test; // 直接创建

在这里插入图片描述
如果不存在则创建

create database if not exists test1;

在这里插入图片描述
数据库被创建本质上就是在/var/lib/mysql/下创建一个目录
在这里插入图片描述

二、删除数据库

语法:

DROP DATABASE [IF EXISTS] db_ name;
  • db_name是创建数据库的名字
  • [] 是可选项,可以选择不写

执行删除之后的结果:

  • 数据库内部看不到对应的数据库
  • 对应的数据库文件夹被删除,级联删除,里面的数据表全部被删
  • 数据库被删除本质上就是在/var/lib/mysql/下删除一个目录

注意:不要随意删除数据库,尽量是对不需要的数据库进行重命名备份即可
在这里插入图片描述

三、数据库字符集和数据库校验规则

创建名为 db1 的数据库

create database db1;

说明:当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则
是:utf8_ general_ ci,即MySQL配置文件/etc/my.cnf里面设置的,如果我们自己指定字符集或校验规则,则不会使用系统默认的字符集和校验规则时。
我们自已也可以指定创建创建一个使用utf8字符集的 db2 数据库

create database db2 charset=utf8;
或者 create database db2 CHARACTER SET utf8

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

create database db3 charset=utf8 collate utf8_general_ci;

什么是字符集和校验规则??

  • 字符集就是编码集,数据库用于表示和存储数据
  • 校验规则是一种用于检测和验证数据完整性的方法,数据库在比较字段的时候需要用到的编码(读取数据、比较数据)

数据库库无论对数据做任何操作,都必须保证编码格式是一致的
查看系统默认字符集(当前数据库)(MySQL配置文件/etc/my.cnf里面设置的)

show variables like 'character_set_database';

在这里插入图片描述
查看系统默认校验规则(当前数据库)

show variables like 'collation_database';

在这里插入图片描述
查看数据库支持的字符集,字符集主要是控制用什么语言。比如utf8就可以使用中文

show charset;

在这里插入图片描述
查看数据库支持的字符集校验规则
在这里插入图片描述
每一种校验规则都匹配一种字符集,比如utf8_general_ci检验规则匹配的字符集是utf8

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

不区分大小写

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

create database test1 charset=utf8 collate utf8_general_ci;

创建表插入数据

use test1;
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');

在这里插入图片描述
在该数据库的目录下,db.opt文件就是存放该库的编码规则

cat /var/lib/mysql/test1/db.opt

在这里插入图片描述
查看表的信息
在这里插入图片描述
查找字符 a

select * from person where name='a';

aA都被查出来了,说明检验规则utf8_general_ci不区分大小写在这里插入图片描述

区分大小写

创建一个数据库,校验规则使用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');

在这里插入图片描述
在该数据库的目录下,db.opt文件就是存放该库的编码规则
在这里插入图片描述
查找字符 a,只有符合条件的被查出来的,说明检验规则utf8_bin区分大小写
在这里插入图片描述

五、修改数据库

显示创建数据库时的语句

show create database 数据库名;

在这里插入图片描述
说明

  • MySQL 建议我们关键字使用大写,但是不是必须的。
  • 数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字
  • /*!40100 default.... */ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话,如果小于就不执行

修改数据库

语法:

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

alter_spacification选项:

alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
  • 大写的表示关键字
  • [] 是可选项,可以选择不写

说明:对数据库的修改主要指的是修改数据库的字符集,校验规则
例如,将test2的字符集gbk

alter database test1 charset=gbk collate gbk_chinese_ci;

在这里插入图片描述
在这里插入图片描述
注意:现在的数据库不支持修改数据库名字,以前支持

六、数据库的备份和恢复

备份

语法

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

注:> 是输出重定向
例如,将test1库备份到文件,需要退出mysql连接

mysqldump -P3306 -uroot -p -B test1 > /home/fy/mysql/test1.sql

在这里插入图片描述
vim 打开看一下,该数据的有效操作+数据全部备份了
在这里插入图片描述

还原

语法:

source 备份的文件(路径)

注:> 是输出重定向
test1删除,进行测试
在这里插入图片描述
进行还原test1,在连接mysql下操作

source /home/fy/mysql/test1.sql;

在这里插入图片描述
查看数据库,数据已经恢复
在这里插入图片描述
注意事项
如果备份的不是整个数据库,而是其中的一张表

 mysqldump -uroot -p 数据库名 表名1 表名2... > 备份的文件(路径),如:/mytest.sql

同时备份多个数据库

 mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径

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

七、查看数据库连接情况

语法:

show processlist;

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

「 作者 」 枫叶先生
「 更新 」 2023.7.7
「 声明 」 余之才疏学浅,故所撰文疏漏难免,
          或有谬误或不准确之处,敬请读者批评指正。

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

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

相关文章

Java8 lambda 表达式 forEach 如何提前终止?

首先,让我们看一下Java 8中如何使用forEach()方法。forEach()方法接受一个Consumer接口作为参数,该接口定义了一个accept()方法,该方法接受一个对象并对其执行一些操作。因此,我们可以通过Lambda表达式来实现Consumer接口。下面是…

Camtasia2023中文版电脑屏幕记录和课件制作工具

TechSmith Camtasia是一个非常容易使用的电脑屏幕记录和课件制作工具。Camtasia 2023软件集强大的录屏、视频编辑编辑、视频菜单制作、视频影院和视频播放功能于一体,可以轻松制作各种教学课件、微课堂等。Camtasia 2023支持一键录制和共享高质量截屏视频&#xff0…

Pytorch: 数据读取机制Dataloader与Dataset

文章和代码已经归档至【Github仓库:https://github.com/timerring/dive-into-AI 】或者公众号【AIShareLab】回复 pytorch教程 也可获取。 文章目录 数据读取机制Dataloader与DatasetDataLoader 与 Datasettorch.utils.data.DataLoader区分Epoch、Iteration、Batchs…

2022年真题 - 18 - 磁盘快照

磁盘快照 题目新增 15 G 的磁盘创建 LVM 卷挂载 LVM 卷写入文本创建快照挂载快照验证配置题目 StorageSrv - 磁盘快照 新增 15G 的磁盘,并将其做成 LVM 卷,VG 名称为 snapvg,LV名称为 snaplv 大小为 5G,挂载至 /snapdata 目录下;写入文本的文件数据至 /snapdata 目录下,…

2.5 DNS 应用 -- 2. DNS记录和消息格式

2.5 DNS 应用 -- 2. DNS记录和消息格式 DNS记录DNS协议与消息如何注册域名? DNS记录 资源记录(RR, resource records)TypeA Name: 主机域名Value: IP地址 TypeNS Name: 域(edu.cn)Value: 该域权威域名解析服务器的主机域名 TypeCNAME Name: 某一真实域名的别名 www.…

2.常见网页布局

2.1常见网页布局 第一种 第二种 第三种&#xff08;最常见的&#xff09; 代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-wi…

苹果自带的分享以及图片保存授权和应用跳转

// NSString *testToShare "分享的标题"; // NSURL *urlToShare [NSURL URLWithString:"http://www.baidu.com"]; // UIImage *imageToShare image; // NSArray *activityItems [te…

【算法】程序员必须掌握的算法?

Yan-英杰的主页 悟已往之不谏 知来者之可追 C程序员&#xff0c;2024届电子信息研究生 目录 一&#xff1a;程序员为什么一定要学会算法 二&#xff1a;常见算法介绍 1、时间复杂度 2、空间复杂度 3. 必会内容&#xff1a; 4.使用场景 5. 算法学习网站&#xff1a; 三&…

《Linux基础命令讲解》学习笔记

Linux简单介绍 Linux不是一个具体的操作系统&#xff0c;而是一类操作系统的总称。 具体版本称为发行版&#xff1a; Red Hat:目前被IBM收购&#xff0c;收费版&#xff0c;目前全球最大的Linux供应商 CentOS: Red Hat推出的免费版 Ubuntu :界面比较友好 Linux系统目录结构…

vue3+element-plus实现日历组件农历显示且带列表数据

calendar.js https://gitee.com/mirrors/calendar-js.git 这个js可以去下载&#xff0c;里面涉及的有点多 要设置日历每周以周一开始&#xff0c;需要在main.js中加入这一行代码 import dayjs/locale/zh-cn; // 设置日历每周从周一开始<template><ELPlusLanguageC…

华秋约定您!7月11-13日慕尼黑上海电子展不见不散~

慕尼黑最新华秋展会攻略来啦 华秋携海量产品与方案 以及丰富的元器件产品线 即将亮相慕尼黑上海电子展 现场干货和福利不断 简直不要太精彩&#xff01; 敲黑板 划重点 华秋展位 时间&#xff1a;2023年7月11日-7月13日 地点&#xff1a;国际会展中心&#xff08;上海&…

IT-OT 安全融合是优化风险管理的关键

最新报告揭示了运营技术检测和响应方面的显着可见性差距。 全球网络安全运营商趋势科技宣布了一项新研究&#xff0c;显示企业安全运营中心 (SOC) 正在将其能力扩展到 OT 领域。 然而&#xff0c;重大的可见性和技能相关的挑战仍然造成障碍。 研究发现&#xff0c;一半的组织…

公共医疗数据库汇总:无需实验,高效论文撰写利器

一、引言 在医学研究领域&#xff0c;获取高质量的数据和文献资源是进行科学论文撰写的关键。随着信息技术的发展&#xff0c;以及公共医疗数据库的不断壮大和完善&#xff0c;研究人员可以轻松地获取大量的医学数据和文献信息&#xff0c;从而提高论文撰写的效率和质量。本文将…

基于Python的K-Means聚类算法的酒店客户价值分析(源码+数据+文档+CSV数据文件)

通过对传统的RFM客户价值研究模型进行分析&#xff0c;创新性的引入L&#xff08;信誉度&#xff09;指标到RFM模型中&#xff0c;形成RFML新型更适合酒店行业的客户价值研究模型。 一、技术介绍 &#xff08;1&#xff09;RFM 模型 RFM模型是提出的一种分析客户关系管理&…

C++旋转卡壳法求最小面积外接矩形

旋转卡壳基本概念介绍&#xff1a;(86条消息) 旋转卡壳详解_大学要有梦想的博客-CSDN博客 OpenCV里面有现成的计算最小面积外接矩形的方法&#xff0c;但是由于我装了好久也没装上opencv&#xff0c;最后还是决定自己实现。 求多边形最小面积外接矩形的基本思路是&#xff1a;…

loader 和 plugin

loader 是文件加载器&#xff0c;能够加载资源文件&#xff0c;并对这些文件进行一些处理&#xff0c;诸如编译、压缩等&#xff0c;最终一起打包到指定的文件中plugin 赋予了 webpack 各种灵活的功能&#xff0c;例如打包优化、资源管理、环境变量注入等&#xff0c;目的是解决…

数据分析:一文带你了解PowerBI技术

目录 一、PowerBI简介 二、Power BI 的组成部分 三、Power BI 如何匹配角色 四、下载 Power BI Desktop 五、登录到 Power BI 服务 六、Power BI的优势 6.1 发展潜力巨大&#xff0c;前景广阔 6.2 可连接的数据来源多&#xff0c;数据量大 6.3 软件更新频率高 6.4 可为…

飞凌嵌入式邀您共聚2023慕尼黑上海电子展

2023慕尼黑上海电子展&#xff08;electronica China&#xff09;将于7月11日~13日在国家会展中心&#xff08;上海&#xff09;盛大召开。本届展会将展示最新的电子技术与应用&#xff0c;涵盖了半导体、嵌入式系统、电源、电池、测试仪器、智能制造、电子设计自动化等众多领域…

【历史上的今天】7 月 7 日:C# 发布;Chrome OS 问世;《仙剑奇侠传》发行

整理 | 王启隆 透过「历史上的今天」&#xff0c;从过去看未来&#xff0c;从现在亦可以改变未来。 今天是 2023 年 7 月 7 日&#xff0c;在 1927 年的今天&#xff0c;互联网发展的早期创新者格伦卡勒&#xff08;Glen Culler&#xff09;出生&#xff1b;卡勒是 Culler-Fri…

如何洞察 .NET程序 非托管句柄泄露

一&#xff1a;背景 1. 讲故事 很多朋友可能会有疑问&#xff0c;C# 是一门托管语言&#xff0c;怎么可能会有非托管句柄泄露呢&#xff1f; 其实一旦 C# 程序与 C 语言交互之后&#xff0c;往往就会被后者拖入非托管泥潭&#xff0c;让我们这些调试者被迫探究 非托管领域问题…