【MySQL】库的操作——MySQL数据库 、库的操作、表的操作、字符集和校验规则、备份和恢复
文章目录
- MySQL
- 1. 库的操作
- 2. 表的操作
- 3. 字符集和校验规则
- 3.1 查看系统默认字符集以及校验规则
- 3.2 查看数据库支持的字符集
- 3.3 查看数据库支持的字符集校验规则
- 4. 备份和恢复
- 4.1 备份
- 4.2 还原
MySQL
1. 库的操作
连接服务器
mysql -h 127.0.0.1 -P 3306 -u root -p
mysql -u root -p
如果没有写 -h 127.0.0.1 默认是连接本地
如果没有写 -P 3306 默认是连接3306端口号
查询数据库
通过show databases;
操作,我们可以查看到当前MySQL中所拥有的所有数据库。
show databases;
创建数据库
通过create databases <数据库的名字>;
操作,我们可以创建数据库。
create database database_test;
删除数据库
drop database <数据库名>;
drop删除数据库。
drop database database_test;
database_test就被删除了。
2. 表的操作
使用数据库
如果我们要对数据库进行下一步操作use <数据库的名字>;
,我们要先选择使用那一个数据库。
use database_test;
数据库修改成功。
创建数据库表
使用create语句进行我们数据库表的创建 create table <数据库表名>( id int, name varchar(32), gender varchar(2) );
我们建的表中包含了三个数据分别是id、姓名和性别。
注意SQL语句都是以 ;
结尾的。
> create table person(
-> id int,
-> name varchar(32),
-> gender varchar(2)
-> );
数据库表创建成功。
查看数据库表的信息
输入desc <数据库表的名字>;
我们就可以查看到数据库表的基本信息。
desc database_test;
表中插入数据
向数据库表中插入数据insert into <数据库表名> (id, name, gender) values (1, '张三', '男');
注意插入()中的信息和上面建表一致即可。
insert into student (id, name, gender) values (1, '张三', '男');
insert into student (id, name, gender) values (2, '李四', '女');
insert into student (id, name, gender) values (3, '王五', '男');
我们同样可以插入部分的数据insert into <数据库表名> (id, name) values (3, '赵六');
注意前后()中的内容匹配即可。
insert into person (id, name) values (3, '赵六');
查询表中的数据
使用select查询数据库表中的数据,select * from <数据库表名>
这里的 *
表示所有的数据。
select * from person;
删除数据库表的数据
delete from <表名> where id=3;
delete表示删除操作,操作from来自<表名>的数据,且数据的id为3,因为有两条id=3所以删除了两条信息。如果是 delete from <表名>
就表示删除表中全部数据。
delete from person where id=3;
3. 字符集和校验规则
MySQL中的字符集(Character Set)和校验规则(Collation) 是用于定义如何存储和比较字符数据的重要属性。
字符集(Character Set):
字符集是数据库、表或列中字符数据的编码方式。 它定义了哪些字符可以被存储以及如何存储这些字符。
例如,utf8 和 utf8mb4 是两种常用的字符集。utf8 用于存储最多3个字节的UTF-8字符,而 utf8mb4 用于存储最多4个字节的UTF-8字符(包括一些特殊的Unicode字符,如表情符号)。
校验规则(Collation):
校验规则定义了字符如何进行比较和排序。 它基于字符集,但还包括排序规则和比较规则。
例如,utf8_general_ci 和 utf8_bin 是基于 utf8 字符集的两种常见校验规则。utf8_general_ci 是大小写不敏感的,而 utf8_bin 是二进制排序,对大小写敏感。
选择正确的校验规则对于确保数据的正确比较和排序非常重要。例如,在比较字符串时,如果你使用了大小写敏感的校验规则,那么 “Apple” 和 “apple” 会被视为不同的字符串。
3.1 查看系统默认字符集以及校验规则
我们使用下面的语句就可以看到系统的默认的字符集和校验规则。
show variables like 'character_set_database';
show variables like 'collation_database';
3.2 查看数据库支持的字符集
使用show charset;
查看系统所支持的字符集,字符集主要是控制用什么语言。比如utf8就可以使用中文。
show charset;
3.3 查看数据库支持的字符集校验规则
show collation;
为查看数据库支持的字符集校验规则。
show collation;
指定创建字符编码为utf8的数据库
指定设计编码格式和编码校验格式:
create database testd2 charset=utf8; // 指定编码格式
create database testd2 collate utf8_general_ci; // 指定校验格式
使用该数据库并且在库testd2中创建数据表user1:
use testd2; // 使用数据库
create table if not exists user1(id int); // 创建表user1,且只有一个元素id
插入数据并且打印表user1中所有的元素信息:
insert into user1 values(1);
insert into user1 values(2);
insert into user1 values(3);
select * from user1;
查看数据库建表的详细信息:
show create table user1\G;
校验规则对数据库的影响:
4. 备份和恢复
备份是指通过导出数据或者复制表文件的方式来制作数据库的副本,这个副本被称为备份数据。
恢复则是指将备份的数据库加载到系统,从而使数据库从错误状态恢复到备份时的正确状态。 恢复过程通常涉及到将备份数据导入到MySQL服务器中,以替换或修复受损的数据。
在进行备份和恢复时,需要考虑一些重要的因素,如备份策略、恢复时间目标(RTO)和数据丢失容忍度(RPO)等。这些因素将影响备份的频率、备份数据的保留时间以及恢复过程的速度和效率。
4.1 备份
# mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径
示例:将mytest库备份到文件(退出连接)
# mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径
这时,可以打开看看 mytest.sql 文件里的内容,其实把我们整个创建数据库,建表,导入数据的语句都装载这个文件中。
4.2 还原
mysql> source D:/mysql-5.7.22/mytest.sql;
创建数据库test1:
备份数据库表test1:
mysqldumpc-P3306 -uroot -p -B test1 > test1.sql
删除数据库test1:
恢复数据库:
source /root/MySQL/test1.sql;
恢复成功:
注意事项
如果备份的不是整个数据库,而是其中的一张表。
# mysqldump -u root -p 数据库名 表名1 表名2 > D:/mytest.sql
同时备份多个数据库。
# mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径
如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原。
查看连接情况
show processlist
可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能你的数据库被人入侵了。以后大家发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。
相关文章:

【MySQL】库的操作——MySQL数据库 、库的操作、表的操作、字符集和校验规则、备份和恢复
文章目录 MySQL1. 库的操作2. 表的操作3. 字符集和校验规则3.1 查看系统默认字符集以及校验规则3.2 查看数据库支持的字符集3.3 查看数据库支持的字符集校验规则 4. 备份和恢复4.1 备份4.2 还原 MySQL 1. 库的操作 连接服务器 mysql -h 127.0.0.1 -P 3306 -u root -pmysql -u…...

pytorch 用F.normalization的逆归一化如何操作
逆归一化的时候再把这个数乘回去就行了 magnitude a.norm(p2, dim1, keepdimTrue) # NEW atorch.nn.functional.normalize(a, p2, dim1) a_or a* magnitude # NEW print(a_or) Outputs: tensor([]1,2,3)...

LabVIEW多通道压力传感器实时动态检测
LabVIEW多通道压力传感器实时动态检测 介绍了一种基于LabVIEW的多通道压力传感器实时动态检测系统,解决压阻式压力传感器温度补偿过程的复杂度,提高测量的准确性。通过自动轮询检测方法,结合硬件检测模型和多通道检测系统设计,本…...

Jenkins解决Host key verification failed (2)
Jenkins解决Host key verification failed 分析原因情况 一、用OpenSSH的人都知ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告,避免…...

C#,数值计算,矩阵的乔莱斯基分解(Cholesky decomposition)算法与源代码
一、安德烈路易斯乔尔斯基 安德烈路易斯乔尔斯基出生于法国波尔多以北的查伦特斯海域的蒙古扬。他在波尔多参加了Lyce e,并于1892年11月14日获得学士学位的第一部分,于1893年7月24日获得第二部分。1895年10月15日,乔尔斯基进入莱科尔理工学院…...
docker 备份 mysql
使用 Docker 执行 MySQL 备份是一个实用的操作,可以帮助你确保数据的安全性和可恢复性。这里有一步步的指导帮你完成: 1. 确定 MySQL 容器名称或 ID 首先,你需要知道运行 MySQL 数据库的容器的名称或 ID。可以通过下面的命令查看所有正在运…...

使用C# Net6连接国产达梦数据库记录
达梦官网:http://www.dameng.com/ 1 下载达梦并进行安装 下载地址:官网首页——服务与合作——下载中心(https://www.dameng.com/list_103.html) 根据需要自行下载需要的版本,测试版本为:x86 win64 DM8版…...

docker (八)-dockerfile制作镜像
一 dockerfile dockerfile通常包含以下几个常用命令: FROM ubuntu:18.04 WORKDIR /app COPY . . RUN make . CMD python app.py EXPOSE 80 FROM 打包使用的基础镜像WORKDIR 相当于cd命令,进入工作目录COPY 将宿主机的文件复制到容器内RUN 打包时执…...

springcloud-网关(gateway)
springcloud-网关(gateway) 概述 \Spring Cloud Gateway旨在提供一种简单而有效的方式来路由到API,并为其提供跨领域的关注,如:安全、监控/指标和容错 常用术语 Route(路由): 网关的基本构件。它由一个ID、一个目的地…...

2.20 day2 QT
自由发挥登录窗口的应用场景,实现一个登录窗口界面 #include "widget.h"Widget::Widget(QWidget *parent): QWidget(parent) {//窗口相关设置this->setWindowTitle("登入页面"); //设置 窗口 标题this->setWindowIcon(QIcon("D:…...

【C++语法基础】4.分支和循环结构(✨新手推荐阅读)
前言 在C编程中,分支和循环结构是控制程序流程的基本工具。分支结构允许程序根据特定条件执行不同的代码块,而循环结构则允许程序重复执行某个代码块。 分支结构 if 语句 if 语句是最基本的分支结构,它根据条件的真假来决定是否执行某段代…...

朋友圈程序全开源版源码,附带系统搭建教程
前台一键发布图文,视频,音乐。发布内容支持定位或自定义位置信息。支持将发布内容设为广告模式消息站内通知或邮件通知。支持其他用户注册,支持其他用户发布文章,管理自己的文章。拥有丰富的后台管理功能,一键操作。安装环境 Nginx ≥1.22 …...

思维方式系列文章目录 -《清单革命》实践
思维方式系列文章目录 -《清单革命》 文章目录 思维方式系列文章目录 -《清单革命》前言一、《清单革命》思维导图二、清单制作原则 前言 请记住,现在开始心灵转变,人人都会犯错,而错误分为:无知之错、无能之错。 无知之错&#…...
RAID 创建使用以及ubuntu安装和使用zfs文件系统及Ubuntu软件安装
RAID 创建使用 部署 RAID 10 的学习 1. 搭建 RAID 10 就是 RAID 1 加上 RAID 0,准备四块磁盘,用于创建 RAID 10,配置vmware虚拟机,创建四个虚拟硬盘。 2. 检查磁盘信息 rootubuntu:~# ls /dev/sd* /dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/s…...
yarn常用命令小记
安装 npm install -g yarn查看版本 yarn -v初始化项目与依赖管理 yarn init:与npm init一样通过交互式会话生成一个新的package.jason文件以初始化项目;跳过会话可使用yarn init --yes,简写yarn init -yyarn add <package><versi…...

防御保护---内容保护
文章目录 目录 文章目录 一.防火墙内容安全概述 二.深度识别技术(DFI/DPI) 深度包检测技术(DPI) 深度流检测技术(DFI) 两者区别 三.入侵防御IPS 一.防火墙内容安全概述 防火墙内容安全是防火墙的一个重…...
jquery将网页html文档导出为pdf图片
jquery将网页html文档导出为pdf图片 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content&q…...

opengl 学习着色器
一.GLSL 着色器是使用一种叫GLSL的类C语言写成的。GLSL着色器编码顺序:声明版本》定义输入输出》uniform》main函数。每个着色器的入口点是main函数,在main函数中我们处理所有的输入变量,并将结果输出到输出变量中。如下图: #ver…...

【数据结构】18 二叉搜索树(查找,插入,删除)
定义 二叉搜索树也叫二叉排序树或者二叉查找树。它是一种对排序和查找都很有用的特殊二叉树。 一个二叉搜索树可以为空,如果它不为空,它将满足以下性质: 非空左子树的所有键值小于其根节点的键值非空右子树的所有键值都大于其根结点的键值左…...

力扣日记2.20-【回溯算法篇】491. 非递减子序列
力扣日记:【回溯算法篇】491. 非递减子序列 日期:2023.2.20 参考:代码随想录、力扣 ps:放了个寒假,日记又搁置了三星期……(下跪忏悔) 491. 非递减子序列 题目描述 难度:中等 给你一…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...

1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...

什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...