大家好,我是Java1234_小锋老师,最近更新 《一天学会 Mysql8 视频教程(无废话版) 》专辑,感谢大家支持。

本课程主要介绍和讲解 Mysql8简介,安装以及配置,客户端sqlyog 安装以及配置,数据库 基本操作,数据库表基本操作,查询数据,添加,修改,删除数据,索引,视图,触发器,常用函数,存储过程和函数。
视频教程+课件+源码打包下载:
链接:https://pan.baidu.com/s/1o-zRfndo1HHrS_uFroOiCw?pwd=1234
提取码:1234
Mysql8(在第一阶段目录里)
Mysql8 数据库基本操作
1,数据库简介
定义:数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
MySQL 8 特性说明:
- 在 MySQL 8 中,数据库(Database)和模式(Schema)是同义词(
CREATE DATABASE和CREATE SCHEMA效果完全一样)。 - MySQL 8 默认的字符集为
utf8mb4,默认排序规则为utf8mb4_0900_ai_ci,能够更好地支持 Emoji 等特殊字符。
2,显示所有数据库
基本语法:
sql
SHOW DATABASES;
操作说明:
- SQL 语句不区分大小写(
show databases;也可以),但关键字建议大写。 - 命令末尾必须带英文分号
;才能执行。 - 执行该命令后,通常会看到
information_schema、mysql、performance_schema、sys这四个默认的系统数据库。
默认第一次执行结果:

这四个数据库是 MySQL 安装完成后自带的系统数据库。它们分别是:
1. information_schema(信息数据库)
- 含义 :它是一个虚拟库 (里面存放的都是视图,不是真实的物理表),主要用于存储数据库的元数据(即"关于数据的数据")。
- 作用:记录了当前 MySQL 实例中所有数据库、表、列、索引、权限、字符集等详细结构信息。
- 常见用途 :当你不知道某个库里有哪些表,或者某张表有哪些字段时,就可以通过查询这个库获取。例如:
SELECT * FROM information_schema.tables WHERE table_schema = '你的数据库名';
2. mysql(核心系统数据库)
- 含义 :MySQL 的"户口本 "和"控制中心",是最重要的系统库。
- 作用 :存储了系统的用户账号 、密码 (加密后的)、权限设置 、存储过程、事件调度信息等。它包含了
user、db、tables_priv等核心权限表。 - 常见用途 :查看当前有哪些用户(
SELECT user, host FROM mysql.user;),或者给用户分配权限(GRANT语句底层就是修改这里的表)。 - ⚠️ 警告:这个库绝对不可以随意删除或直接修改(除非你非常了解 MySQL 权限体系)。
3. performance_schema(性能模式数据库)
- 含义:MySQL 5.5 引入的性能监控引擎。
- 作用 :主要用于监控 MySQL 服务器的运行性能。它收集了底层的各种性能指标,比如 SQL 执行耗时、锁等待、内存分配、I/O 情况等。
- 常见用途:DBA(数据库管理员)排查性能瓶颈、分析慢 SQL 时,会查询这个库。它默认是开启的,对性能有极微小的影响,但为了排查问题,一般不建议关闭。
4. sys(系统数据库)
- 含义 :MySQL 5.7 引入,是对
performance_schema和information_schema的高级封装。 - 作用 :
performance_schema的数据结构非常复杂,普通开发者很难看懂。sys库把那些复杂的底层数据,转化成了更容易阅读和理解的视图。 - 常见用途 :比如你想看"当前哪个 SQL 最占 CPU"或者"当前有哪些会话正在阻塞",直接查询
sys库里的视图(如sys.session、sys.schema_table_statistics)会方便得多。
3,创建数据库
基本语法:
sql
CREATE DATABASE 数据库名;
MySQL 8 推荐写法 :
为了防止数据库已存在而报错,通常加上 IF NOT EXISTS,并显式指定字符集。
sql
CREATE DATABASE IF NOT EXISTS my_db
DEFAULT CHARACTER SET utf8mb4
4,删除数据库
基本语法:
sql
DROP DATABASE 数据库名;
MySQL 8 推荐写法 :
为了防止删除不存在的数据库时报错,通常加上 IF EXISTS。
sql
DROP DATABASE IF EXISTS my_db;