【MySQL]】数据库操作指南之数据库的基础操作

在这里插入图片描述

????博客主页:青竹雾色间.
????博客制作不易欢迎各位????点赞+⭐收藏+➕关注
在这里插入图片描述
✨人生如寄,多忧何为 ✨


文章目录

  • 1. 创建数据库
  • 2.数据库的编码集与校验集
    • 2.1 编码集 (Character Set)
  • 2.2 校验集 (Check Sum)
  • 3. 字符集和校验规则
  • 4. 操纵数据库
    • 4.1查看数据库
    • 4.2修改数据库
    • 4.3数据库删除
  • 5. 备份和恢复
    • 5.1 备份
    • 5.2 还原
  • 6. 查看连接情况

MySQL是最流行的开源关系型数据库管理系统,被广泛应用于Web开发中。在使用MySQL时,了解如何创建、操纵和维护数据库是至关重要的。本篇博客将带您深入了解MySQL数据库的基础操作,包括创建数据库、字符集和校验规则、操纵数据库以及备份和恢复数据库。


1. 创建数据库

在MySQL中,创建数据库是开始的第一步。下面是创建数据库的基本语法:

CREATE DATABASE [IF NOT EXISTS] db_name ;

其中,create_specification 可以包括字符集和校验规则。下面是创建数据库的示例:

示例:

  • 创建名为 db1 的数据库,系统默认使用字符集 utf8 和校验规则 utf8_general_ci:
CREATE DATABASE db1;
  • 创建一个使用 utf8 字符集的 db2 数据库:
CREATE DATABASE db2 CHARACTER SET utf8;
  • 创建一个使用 utf8 字符集,并带校对规则的 db3 数据库:
CREATE DATABASE db3 CHARACTER SET utf8 COLLATE utf8_general_ci;

2.数据库的编码集与校验集

在数据库中,编码集` 通常指的是数据的字符编码方式,
而 “校验集” 则是指校验和或校验码,用于验证数据的完整性。


2.1 编码集 (Character Set)

数据库中的编码集是指用于存储和处理数据的字符编码方式。常见的数据库编码集包括:

  1. UTF-8:一种针对Unicode的可变长度字符编码,它可以使用一个字节对常用的英文字母进行编码,而对于其他字符则需要使用更多的字节。

  2. UTF-16:一种针对Unicode的字符编码方案,它使用两个字节编码大部分常用字符,但是在处理不常用字符时可能需要使用四个字节。

  3. UTF-32:一种固定长度的Unicode字符编码,每个字符使用4个字节。

  4. ISO-8859-1:也称为Latin-1,是ISO制定的单字节字符编码,涵盖了大部分西欧语言的字符。

  5. GBK:GBK是汉字内码扩展规范的简称,是在GB2312编码的基础上对汉字进行了扩展,包含了繁体汉字及一些生僻字。

  6. GB2312:GB2312是中国国家标准简体中文字符集,包含了6,763个汉字和682个非汉字字符。

  7. Big5:Big5是*和香港地区的常用字符编码集,用于繁体中文。

2.2 校验集 (Check Sum)

数据库中的校验集是指用于验证数据完整性的校验和或校验码。常见的校验集包括:

  1. MD5 (Message Digest Algorithm 5):MD5是一种广泛使用的哈希函数,常用于确保数据完整性。

  2. SHA-1 (Secure Hash Algorithm 1):SHA-1是一种安全的哈希算法,通常用于数字签名和数据完整性验证。

  3. SHA-256:SHA-256是SHA-2家族中的一员,具有更高的安全性,适合用于数字签名、证书认证、TLS和IPsec等安全协议中。

  4. CRC32 (Cyclic Redundancy Check):CRC32是一种循环冗余校验,通常用于验证数据传输的完整性。

这些校验方法都可以用于在存储和传输数据时验证数据的完整性。对于大多数数据库管理系统,可以通过内置函数或外部库来计算这些校验和或校验码。

3. 字符集和校验规则

  • 查看系统默认字符集以及校验规则
-- 查看数据库的字符编码
SHOW VARIABLES LIKE 'character_set_database';

-- 查看数据库的校对集
SHOW VARIABLES LIKE 'collation_database';
  • 查看数据库支持的字符集
SHOW CHARSET;
  • 查看数据库支持的字符集校验规则
SHOW COLLATION;
  • 校验规则对数据库的影响

不区分大小写:

  • 创建一个数据库,校验规则使用 utf8_general_ci[不区分大小写]
CREATE DATABASE test1 COLLATE utf8_general_ci;
USE test1;
CREATE TABLE person (name VARCHAR(20));
INSERT INTO person VALUES ('a'), ('A'), ('b'), ('B');

区分大小写:

  • 创建一个数据库,校验规则使用 utf8_bin[区分大小写]
CREATE DATABASE test2 COLLATE utf8_bin;
USE test2;
CREATE TABLE person (name VARCHAR(20));
INSERT INTO person VALUES ('a'), ('A'), ('b'), ('B');
  • 查询不区分大小写的查询以及结果:
USE test1;
SELECT * FROM person WHERE name='a';
  • 查询区分大小写的查询以及结果:
USE test2;
SELECT * FROM person WHERE name='a';

4. 操纵数据库

4.1查看数据库

SHOW DATABASES;
SHOW CREATE DATABASE 数据库名;

示例:

USE test2;
SELECT * FROM person WHERE name='a';

USE test1;
SELECT * FROM person ORDER BY name;

USE test2;
SELECT * FROM person ORDER BY name;

4.2修改数据库

ALTER DATABASE db_name CHARACTER SET charset_name COLLATE collation_name

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

ALTER DATABASE mytest CHARSET=gbk;

4.3数据库删除

DROP DATABASE [IF EXISTS] db_name;

示例: 删除 mytest 数据库

SHOW CREATE DATABASE mytest;
DROP DATABASE mytest;

5. 备份和恢复

5.1 备份

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

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

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

5.2 还原

mysql> source 备份路径下的sql文件;
  • 注意事项

如果备份的不是整个数据库,而是其中的一张表,可以使用如下命令进行备份:

# mysqldump -u root -p 数据库名 表名1 表名2 > D:/mytest.sql

同时备份多个数据库:

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

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

6. 查看连接情况

SHOW PROCESSLIST;

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


在这里插入图片描述

上一篇:python生产者发消息到rabbitMq


下一篇:Element中DatePicker日期选择器跨度只能选一年如何实现?