【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的主从复制原理,这个在大厂面试中经常出现

二、查看现有数据库

在对库进行操作之前,我们要先查看一下我们现在已经有哪些库了,查看库的语句为:

SHOW DATABASES;

(大小写均可)

如图,我这里就已经有了六个数据库

之前我们在讲操作系统的时候总喜欢提的一句话就是:在操作系统下,一切皆文件。

其实这里的数据库在操作系统下同样也是以文件的形式存在的,我们可以查看/var/lib/mysql这个路径,在这个路径中我们就可以看到我们的这几个数据库,而且是以文件夹的形式存在的

三、创建数据库

基本语法
CREATE DATABASE [IF NOT EXISTS] 数据库名
[CHARACTER SET 字符集名称]
[COLLATE 校对规则];
常用选项说明
选项说明示例值
IF NOT EXISTS避免重复创建时报错IF NOT EXISTS
CHARACTER SET指定字符集utf8mb4
COLLATE指定排序规则utf8mb4_general_ci

注释:[ ]中的内容属于可选项,并不一定要加上

实际示例

创建简单数据库:

CREATE DATABASE my_shop;

出现这个就代表我们创建成功,此时我们查看库或者查看特定路径下是否存在文件夹都可以验证这一点

创建带字符集的数据库(推荐使用utf8mb4以支持emoji表情):

CREATE DATABASE my_blog 
CHARACTER SET utf8mb4 
COLLATE utf8mb4_unicode_ci;

安全创建(避免重复):

CREATE DATABASE IF NOT EXISTS my_forum;

如图,此时我们创建一个已经存在的数据库的时候就会出现警告创建失败

四、字符集和校验规则

在上面创建数据库中我们提到了字符集和校验规则的概念,下面我们来讲一下它对我们创建数据库有什么影响

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

首先我们来看一下系统默认的字符集和校验规则:

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

以上两种就是系统默认的字符集和校验规则

查看字符集和校验规则

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

查看字符集:

show charset;

(节选部分)

查看校验规则:

show collation;

也是有很多

校验规则对数据库的影响

我们可以通过校验规则在创建数据库时做一些有意思的操作,比如创建的数据库是否区分大小写等

创建一个区分大小写的数据库:

create database test2 collate utf8_bin;

创建一个不区分大小写的数据库:

create database test1 collate utf8_general_ci;

五、修改数据库

对数据库的修改操作主要是针对数据库的字符集和校验规则

ALTER DATABASE 数据库名
CHARACTER SET 字符集名称
COLLATE 校对规则;

示例:

ALTER DATABASE my_shop
CHARACTER SET utf8mb4
COLLATE utf8mb4_bin;

六、选择/切换数据库

要对特定数据库进行操作,需要先选择它:

USE 数据库名;

示例:

USE my_shop;

查看当前选择的数据库:

SELECT DATABASE();

七、删除数据库

基本语法
DROP DATABASE [IF EXISTS] 数据库名;
注意事项
  1. 数据不可恢复:删除操作会永久删除数据库及其所有内容

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

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

实际示例
  1. 基本删除:

DROP DATABASE old_database;
  1. 安全删除(避免不存在的数据库报错):

DROP DATABASE IF EXISTS temp_database;

八、常见问题解答

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

  1. 是否有CREATE权限

  2. 数据库名是否合法

  3. 磁盘空间是否充足

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

SHOW CREATE DATABASE 数据库名;

Q:为什么推荐使用utf8mb4而不是utf8?
A:MySQL的utf8只支持最多3字节字符,而utf8mb4支持完整的4字节UTF-8编码(如emoji表情)。

九、总结

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

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

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

  • 定期维护数据库结构

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/bicheng/83350.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux服务器系统配置初始化脚本

服务器系统配置初始化脚本 #!/bin/bash set -euo pipefail # 安全设置:遇错退出、未定义变量报错、管道错误处理# 设置时区并同步时间 timedatectl set-timezone Asia/Shanghai >/dev/null || ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime# 安装c…

Milvus单机模式安装和试用

1.安装ollama的package包; # install package pip install -U langchain-ollama2.我们直接使用ChatOllama实例化模型,并通过invoke进行调用; from langchain_ollama import ChatOllamallm ChatOllama(model"deepseek-r1") messa…

秒出PPT正式改名秒出AI,开启AI赋能新体验!

在现代办公环境中,借助智能工具提升工作效率已经成为趋势。秒出AI作为一款集AI PPT制作、动画、巨幕、视频、设计以及智能简历功能于一体的综合办公平台,为用户提供一站式智能内容生成解决方案,极大地简化了内容创作流程。 1. AI驱动的一键P…

Rust 学习笔记:发布一个 crate 到 crates.io

Rust 学习笔记:发布一个 crate 到 crates.io Rust 学习笔记:发布一个 crate 到 crates.io提供有用的文档注释常用标题文档注释作为测试注释所包含的项目 使用 pub use 导出一个方便的公共 API设置 crates.io 账户添加 metadata 到一个新的 crate发布到 c…

C++输入与输出技术详解

文章目录 引言一、C标准输入输出流1.1 cin与cout1.2 cerr与clog 二、C风格输入输出函数2.1 scanf与printf2.2 fgets与puts 三、输入输出优化四、总结 引言 在C编程中,输入与输出(I/O)操作是程序与用户、文件或其他系统组件交互的核心环节。C…

安全编码与AI接口权限控制

安全编码与AI接口权限控制 在AI系统中,模型服务的开放接口往往涉及敏感数据、核心算法与算力资源,如果缺乏有效的安全编码与权限控制机制,极易引发数据泄露、滥用调用或非法操作等问题。本节将从“接口安全策略”“权限验证流程”“Token管控机制”“多租户身份隔离”四个方…

redis五种数据结构详解(java实现对应的案例)

一、简述 Redis是一款高性能的键值对存储数据库,它支持五种基本数据类型,分别是字符串(String)、列表(List)、哈希(Hash)、集合(Set)、有序集合(Sorted Set)。 二、五种基本数据类型 2.1 字符串(String) String是Redis最基本的类型,一个key对…

大数据-273 Spark MLib - 基础介绍 机器学习算法 决策树 分类原则 分类原理 基尼系数 熵

点一下关注吧!!!非常感谢!!持续更新!!! 大模型篇章已经开始! 目前已经更新到了第 22 篇:大语言模型 22 - MCP 自动操作 FigmaCursor 自动设计原型 Java篇开…

第十一章 Java基础-继承

文章目录 1.继承来源2.继承特点3.子类能继承父类中哪些内容1.继承来源 是为了解决代码的重复冗余。

Axure项目实战:驾驶舱(数据一张图)制作教程

亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢!如有帮助请订阅专栏! Axure产品经理精品视频课已登录CSDN可点击学习https://edu.csdn.net/course/detail/40420 视频展示(本文第三部分含所有echarts示例JS代码,可复制使用): Axure项目实战:驾驶舱(数据一张图…

针对Python开发的工具推荐及分析,涵盖集成开发环境(IDE)、轻量级工具、在线开发平台、代码管理工具等)

以下是针对Python开发的工具推荐及全面分析,涵盖集成开发环境(IDE)、轻量级工具、在线开发平台、代码管理工具等,结合不同场景和需求进行分类说明: 目录 一、集成开发环境(IDE) 1. PyCharm 2…

不使用绑定的方法

public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); // 初始设置 A 控件的宽度 ControlA.Width ControlB.Width / 2; // 监听 B 控件的 SizeChanged 事件 ControlB.SizeChanged (sender, e) > { ControlA.Width ControlB.Actual…

DDR5 ECC详细原理介绍与基于协议讲解

本文篇幅较长,涉及背景原理介绍方便大家理解其运作方式 以及 基于DDR5协议具体展开介绍。 背景原理介绍 上图参考:DDR 内存中的 ECC 写入操作时,On-die ECC的工作过程如下: SoC将需要写入到Memory中的数据发送给控制器控制器将需要写入的数据直接发送给DRAM芯片在DDR5 DR…

基于springboot的益智游戏系统的设计与实现

博主介绍:java高级开发,从事互联网行业六年,熟悉各种主流语言,精通java、python、php、爬虫、web开发,已经做了六年的毕业设计程序开发,开发过上千套毕业设计程序,没有什么华丽的语言&#xff0…

STM32软件spi和硬件spi

核心观点 本文主要介绍了SPI通信的两种实现方式:软件SPI和硬件SPI。详细阐述了SPI通信协议的基本概念、硬件电路连接方式、移位示意图、时序基本单元以及四种工作模式。同时,对W25Q64模块进行了详细介绍,包括其硬件电路、框图以及操作注意事…

NLP学习路线图(十五):TF-IDF(词频-逆文档频率)

在自然语言处理(NLP)的浩瀚宇宙中,TF-IDF(词频-逆文档频率) 犹如一颗恒星,虽古老却依然璀璨。当ChatGPT、BERT等大模型光芒四射时,TF-IDF作为传统方法的代表,其简洁性、高效性与可解…

爱其实很简单

初春时,元元买来两只芙蓉鸟。一只白色的,是雄鸟;另一只黄色的,是雌鸟。 每天清晨日出之前,雄鸟便开始“啁啾——啁啾”地啼鸣,鸣声清脆婉转,充满喜悦,仿佛在迎接日出,又…

CentOS 7 环境下部署 LAMP

在 CentOS 7 环境下部署 LAMP(Linux Apache MySQL 5.7 PHP 7.4) 环境的详细步骤如下: 1. 系统准备 1.1 更新系统 sudo yum update -y 1.2 安装依赖 sudo yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel e…

如何查看电脑电池性能

检查电脑电池性能的方法如下: 按下winR键,输入cmd回车,进入命令行窗口 在命令行窗口输入powercfg /batteryreport 桌面双击此电脑,把刚刚复制的路径粘贴到文件路径栏,然后回车 回车后会自动用浏览器打开该报告 红…

数据结构——优先级队列(PriorityQueue)

1.优先级队列 优先级队列可以看作队列的另一个版本,队列的返回元素是由是由插入顺序决定的,先进先出嘛,但是有时我们可能想要返回优先级较高的元素,比如最大值?这种场景下就由优先级队列登场。 优先级队列底层是由堆实…