MySQL学习:
https://blog.csdn.net/2301_80220607/category_12971838.html?spm=1001.2014.3001.5482
前言:
在上一篇我们已经讲解了数据库的基本内容,相信大家对数据库已经有了一些自己的理解,从这篇开始我们就开始正式进入如何操作数据库相关内容的学习,首先我们先来学习一下库的相关的操作
目录
一、MySQL数据库基础概念
在MySQL中,数据库(Database)是存储有组织数据的容器,一个MySQL服务器可以管理多个数据库,每个数据库包含多个表(Table)、视图(View)、存储过程(Procedure)等对象。
另外想要了解底层的同学可以去了解一下mysql的主从复制原理 ,这个在大厂面试中经常出现
二、查看现有数据库
在对库进行操作之前,我们要先查看一下我们现在已经有哪些库了,查看库的语句为:
sql
SHOW DATABASES;
(大小写均可)

如图,我这里就已经有了六个数据库
之前我们在讲操作系统的时候总喜欢提的一句话就是:在操作系统下,一切皆文件。
其实这里的数据库在操作系统下同样也是以文件的形式存在的,我们可以查看/var/lib/mysql这个路径,在这个路径中我们就可以看到我们的这几个数据库,而且是以文件夹的形式存在的

三、创建数据库
基本语法
sql
CREATE DATABASE [IF NOT EXISTS] 数据库名
[CHARACTER SET 字符集名称]
[COLLATE 校对规则];
常用选项说明
选项 | 说明 | 示例值 |
---|---|---|
IF NOT EXISTS | 避免重复创建时报错 | IF NOT EXISTS |
CHARACTER SET | 指定字符集 | utf8mb4 |
COLLATE | 指定排序规则 | utf8mb4_general_ci |
注释:[ ]中的内容属于可选项,并不一定要加上
实际示例
创建简单数据库:
sql
CREATE DATABASE my_shop;

出现这个就代表我们创建成功,此时我们查看库或者查看特定路径下是否存在文件夹都可以验证这一点
创建带字符集的数据库(推荐使用utf8mb4以支持emoji表情):
sql
CREATE DATABASE my_blog
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
安全创建(避免重复):
sql
CREATE DATABASE IF NOT EXISTS my_forum;

如图,此时我们创建一个已经存在的数据库的时候就会出现警告创建失败
四、字符集和校验规则
在上面创建数据库中我们提到了字符集和校验规则的概念,下面我们来讲一下它对我们创建数据库有什么影响
系统默认字符集和校验规则
首先我们来看一下系统默认的字符集和校验规则:
sql
show variables like 'character_set_database';
show variables like 'collation_database';

以上两种就是系统默认的字符集和校验规则
查看字符集和校验规则
首先我们先讲一下字符集的作用:其实就是控制使用什么语言,比如这里我们系统默认的utf8就可以使用中文,校验规则则需要与字符集保持一致
查看字符集:
sql
show charset;

(节选部分)
查看校验规则:
cpp
show collation;

也是有很多
校验规则对数据库的影响
我们可以通过校验规则在创建数据库时做一些有意思的操作,比如创建的数据库是否区分大小写等
创建一个区分大小写的数据库:
sql
create database test2 collate utf8_bin;
创建一个不区分大小写的数据库:
sql
create database test1 collate utf8_general_ci;
五、修改数据库
对数据库的修改操作主要是针对数据库的字符集和校验规则
sql
ALTER DATABASE 数据库名
CHARACTER SET 字符集名称
COLLATE 校对规则;
示例:
sql
ALTER DATABASE my_shop
CHARACTER SET utf8mb4
COLLATE utf8mb4_bin;
六、选择/切换数据库
要对特定数据库进行操作,需要先选择它:
sql
USE 数据库名;
示例:
sql
USE my_shop;
查看当前选择的数据库:
sql
SELECT DATABASE();

七、删除数据库
基本语法
sql
DROP DATABASE [IF EXISTS] 数据库名;
注意事项
-
数据不可恢复:删除操作会永久删除数据库及其所有内容
-
权限要求:需要DROP权限
-
推荐做法:先备份再删除
实际示例
- 基本删除:
sql
DROP DATABASE old_database;
- 安全删除(避免不存在的数据库报错):
sql
DROP DATABASE IF EXISTS temp_database;
八、常见问题解答
Q:创建数据库时报错"Can't create database"怎么办?
A:检查:
是否有CREATE权限
数据库名是否合法
磁盘空间是否充足
Q:如何查看数据库的创建语句?
sql
SHOW CREATE DATABASE 数据库名;
Q:为什么推荐使用utf8mb4而不是utf8?
A:MySQL的utf8只支持最多3字节字符,而utf8mb4支持完整的4字节UTF-8编码(如emoji表情)。
九、总结
掌握MySQL数据库的基本操作是数据库管理的第一步。记住:
创建前规划好字符集和命名
删除前务必备份重要数据
定期维护数据库结构
以上就是本篇关于数据库各种操作的讲解了
感谢各位大佬观看,创作不易,还望各位大佬点赞支持!!!