【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数据库的基本操作是数据库管理的第一步。记住:

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

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

  • 定期维护数据库结构

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

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

相关推荐
码农sssss2 分钟前
1130 - Host ‘xxx.x.xx.xxx‘is not allowed to connect to this MySQL server
mysql
FungLeo2 小时前
安装和配置 Nginx 和 Mysql —— 一步一步配置 Ubuntu Server 的 NodeJS 服务器详细实录6
服务器·mysql·nginx
heart000_15 小时前
MySQL事务与锁机制详解:确保数据一致性的关键【MySQL系列】
数据库·mysql
一眼青苔5 小时前
MySQL 如何判断某个表中是否存在某个字段
数据库·mysql
西柚小萌新6 小时前
【大模型:知识图谱】--3.py2neo连接图数据库neo4j
数据库·知识图谱·neo4j
wangfenglei1234566 小时前
mybatis打印完整的SQL,p6spy
数据库·sql·mybatis
__风__6 小时前
PostgreSQL ERROR: out of shared memory处理
数据库·postgresql
占星安啦6 小时前
一个html实现数据库自定义查询
java·前端·javascript·数据库·动态查询
天空之城夢主7 小时前
MySQL 全量、增量备份与恢复
数据库·mysql·oracle
Elastic 中国社区官方博客7 小时前
连接关键点:使用 ES|QL 联接实现更丰富的可观测性洞察
大数据·数据库·sql·elasticsearch·搜索引擎·全文检索