【MySQL基础】库的操作:创建、删除与管理数据库

MySQL学习:

https://blog.csdn.net/2301_80220607/category_12971838.html?spm=1001.2014.3001.5482

前言:

在上一篇我们已经讲解了数据库的基本内容,相信大家对数据库已经有了一些自己的理解,从这篇开始我们就开始正式进入如何操作数据库相关内容的学习,首先我们先来学习一下库的相关的操作

目录

一、MySQL数据库基础概念

二、查看现有数据库

三、创建数据库

基本语法

常用选项说明

实际示例

四、字符集和校验规则

系统默认字符集和校验规则

查看字符集和校验规则

校验规则对数据库的影响

五、修改数据库

六、选择/切换数据库

七、删除数据库

基本语法

注意事项

实际示例

八、常见问题解答

九、总结


一、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] 数据库名;
注意事项
  1. 数据不可恢复:删除操作会永久删除数据库及其所有内容

  2. 权限要求:需要DROP权限

  3. 推荐做法:先备份再删除

实际示例
  1. 基本删除:
sql 复制代码
DROP DATABASE old_database;
  1. 安全删除(避免不存在的数据库报错):
sql 复制代码
DROP DATABASE IF EXISTS temp_database;

八、常见问题解答

Q:创建数据库时报错"Can't create database"怎么办?

A:检查:

  1. 是否有CREATE权限

  2. 数据库名是否合法

  3. 磁盘空间是否充足

Q:如何查看数据库的创建语句?

sql 复制代码
SHOW CREATE DATABASE 数据库名;

Q:为什么推荐使用utf8mb4而不是utf8?

A:MySQL的utf8只支持最多3字节字符,而utf8mb4支持完整的4字节UTF-8编码(如emoji表情)。

九、总结

掌握MySQL数据库的基本操作是数据库管理的第一步。记住:

  • 创建前规划好字符集和命名

  • 删除前务必备份重要数据

  • 定期维护数据库结构

以上就是本篇关于数据库各种操作的讲解了

感谢各位大佬观看,创作不易,还望各位大佬点赞支持!!!

相关推荐
qq_3186930114 小时前
XML 站点地图制作与提交全流程,新站收录效率提升 50%
xml·数据库·mysql
毕设十刻15 小时前
基于vue的考研信息系统6kv17(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js
龙茶清欢16 小时前
PostgreSQL 和 MySQL两个数据库的索引的区别
数据库·mysql·postgresql
望获linux16 小时前
论文解读:利用中断隔离技术的 Linux 亚微秒响应性能优化
java·linux·运维·前端·arm开发·数据库·性能优化
柱子jason16 小时前
使用IOT-Tree消息流InfluxDB模块节点实现标签数据的时序数据库存储
数据库·物联网·时序数据库·influxdb·iot-tree
TDengine (老段)16 小时前
TDengine 聚合函数 ELAPSED 用户手册
java·大数据·数据库·sql·物联网·时序数据库·tdengine
TDengine (老段)16 小时前
TDengine 聚合函数 HYPERLOGLOG 用户手册
大数据·数据库·物联网·哈希算法·时序数据库·iot·tdengine
Elastic 中国社区官方博客16 小时前
使用 Elasticsearch 构建 AI Agentic 工作流
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
kobe_OKOK_17 小时前
django 使用绑定多个数据库实现数据的同步
数据库·python·django
浅拾光º17 小时前
Docker部署的MySQL,如何一键备份Docker中的MySQL?
mysql·docker·容器