当前位置: 首页 > news >正文

MySQL数据库的基础操作

MySQL系列


文章目录

  • MySQL系列
  • 前言
    • 1.1 创建库
    • 1.2 查看库及其属性
    • 1.3 字符集和校验集
    • 1.4 修改数据库
    • 1.5 数据库的备份和恢复
      • 1.5.1 数据库的备份
      • 1.5.2 数据库的恢复
    • 1.6 查看连接状态
    • 1.7 删除库


前言

本系列文章是在学习过Linux的基础上展开介绍的,对MySQL的介绍将会以操作为主。本篇我将介绍MySQL对库的基本操作,内容涉及增、删、查、改等相关操作。


1.1 创建库

语法:

CREATE DATABASE [IF NOT EXISTS] db_name
[CHARACTER SET [=] charset_name]
[COLLATE [=] collation_name];
  • CREATE DATABASE db_name: 创建一个库名为db_name(库名自定义)的库
  • [ ]: 控好内的为可选项,可带,可不带
  • IF NOT EXISTS: 如果创建的库不存在创建,存在就报错
  • CHARACTER SET: 指定数据库的字符集
  • COLLATE: 指定数据库的排序规则

下面我们接着来学习查看库的属性,有了查看库的基础后再对上面操作演示

1.2 查看库及其属性

查看当前库:

SHOW DATABASES;

在这里插入图片描述
可以看当前服务下,存在的库。

查看默认字符集:

show variables like 'character_set_database';//查看当前服务默认字符集

在这里插入图片描述

查看默认校验集:

show variables like 'collation_database';

在这里插入图片描述
在创建库时,如果不显示给出,就会使用默认的字符集和校验集。

查看当前服务所支持的字符集:

show charset;//查看字符集
show collation;//查看校验集

在这里插入图片描述
查看指定库的校验集、字符集:

show create database db_name;

在这里插入图片描述

有了这些认识我们就可以对上面操作进行验证了

示例1:直接建库

create database d1;//库名自定义

在这里插入图片描述
在这里插入图片描述
创建库时带上if not exists选项,若库存在就会报错,这里就不仔细演示了,可以自己尝试。

示例2:指定字符集

create database d2 charset=big5;

在这里插入图片描述
显示问题有点乱序
同样的你也可以尝试指定校验集创建库,这里就不演示了。

1.3 字符集和校验集

字符集: 决定了特定字符在存储时,该映射为什么样的二进制数据,定义了数据在存储和传输时所采用的编码方式。
校验集: 校验集是在特定字符集基础上,定义了字符的比较和排序规则,也就是规定了如何对字符进行大小比较、排序等操作。同一字符集可以有多个不同的校验集。

下面我们来看不同校验规则对数据的影响:

不同的校验规则对数据库是不同的,不同的校验规则,也就表明了不同的比较方法,下面我们以utf8_general_ci(不区分大小写的)和utf8_bin(区分大小写)为例进行验证。

在这里插入图片描述
首先我们以两种校验集分别创建了test1test2,下面我会向两库中分别创建表,并插入数据(表操作后面介绍)。
在这里插入图片描述
在这里插入图片描述
通过图中结果对比可以得出:utf8_general_ci校验集不区分大小写,utf8_bin校验集区分大小写。

1.4 修改数据库

ALTER DATABASE [IF EXISTS] database_name
[DEFAULT] CHARACTER SET [=] charset_name//修改字符集
[DEFAULT] COLLATE [=] collation_name;//修改校验集

在这里插入图片描述
补充:

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

当不使用任何库时,sql语句显示的是当前服务默认的字符集、校验集,当使用库时,查找的时当前库的校验集、字符集。

1.5 数据库的备份和恢复

1.5.1 数据库的备份

语法:

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

示例:

mysqldump -P3306 -u root -p -B test1 > /root/MySQL/backup.sql 

在这里插入图片描述
现在我们将test1库的数据备份到了 /root/MySQL/backup.sql路径下的文件中。
需要注意的是:mysqldump 是 系统命令行工具(在 Linux终端执行),不是 MySQL 交互终端(mysql>)里的 SQL 语句。

在这里插入图片描述
查看备份文件可以发现,我们保存的不仅是test1的数据,还有我们对这个库进行的历史操作。

1.5.2 数据库的恢复

mysql> source /root/MySQL/backup.sql;

在这里插入图片描述
使用 source 命令恢复数据库时,会对备份文件中保存的 SQL 指令重新执行一遍。

备份数据库中的某张表:

mysqldump -u root -p 数据库名 表名1 表名2 >路径

同样会备份表的历史sql语句,恢复时执行

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

1.6 查看连接状态

show processlist;

在这里插入图片描述
查看的是当前主机,MySQL服务器的连接状态。

1.7 删除库

drop db_name;

在这里插入图片描述
本篇就介绍到这里,正篇下来并没有难点,都是基础操作。

http://www.dtcms.com/a/278880.html

相关文章:

  • AI驱动的软件工程(下):AI辅助的质检与交付
  • nvidia-smi命令参数解释
  • 机器学习(ML)、深度学习(DL)、强化学习(RL):人工智能的三驾马车
  • 外星人电脑Alienware Aurora R11原装出厂OEM预装Windows10系统
  • 自动驾驶数据仓库:时间片合并算法。
  • 【React Native】ScrollView 和 FlatList 组件
  • 基于ASP.NET+SQL Server实现(Web)排球赛事网站
  • Java文件操作
  • PTKQuery
  • 大规模测试自动化测试指南
  • day9 串口通信
  • 如何单独安装设置包域名
  • Kafka Broker源码解析(上篇):存储引擎与网络层设计
  • Java HTTP应用开发:从基础到实战
  • C语言-流程控制
  • 使⽤Pytorch构建⼀个神经⽹络
  • Linux 消息队列接收与处理线程实现
  • 【HTTP版本演变】
  • 考完数通,能转云计算/安全方向吗?转型路径与拓展路线分析
  • Elasticsearch9.x核心架构概述
  • Redis7持久化
  • 【postgresql数据库实现表的树结构查询】
  • 项目进度中间节点缺失,如何精细化分解任务
  • MIPI DSI(三) MIPI DSI 物理层和 D-PHY
  • 《大数据技术原理与应用》实验报告三 熟悉HBase常用操作
  • 现代数据平台能力地图:如何构建未来数据平台的核心能力体系
  • 为什么ER-GNSS/MINS-01能重新定义高精度导航?
  • vscode 源码编译
  • 创客匠人:创始人 IP 打造的系统化思维,是知识变现的底层逻辑
  • 【图像处理基石】什么是色盲仿真技术?