Appearance
数据库操作
本章将介绍MySQL数据库的创建、查看、选择和删除等基本操作。
创建数据库
基本语法
sql
-- 创建数据库的基本语法
-- CREATE DATABASE [IF NOT EXISTS] 数据库名
-- [DEFAULT] CHARACTER SET 字符集名
-- [DEFAULT] COLLATE 校对规则名;
-- 创建简单数据库
CREATE DATABASE mydb;
-- 创建数据库前检查是否存在
CREATE DATABASE IF NOT EXISTS mydb;
-- 创建数据库并指定字符集
CREATE DATABASE mydb
DEFAULT CHARACTER SET utf8mb4;
-- 创建数据库并指定字符集和校对规则
CREATE DATABASE mydb
DEFAULT CHARACTER SET utf8mb4
DEFAULT COLLATE utf8mb4_unicode_ci;
-- 创建数据库示例
CREATE DATABASE IF NOT EXISTS shop_db
DEFAULT CHARACTER SET utf8mb4
DEFAULT COLLATE utf8mb4_unicode_ci;数据库命名规范
sql
/*
* 数据库命名规范:
*
* 1. 使用小写字母
* 2. 使用下划线分隔单词
* 3. 名称要有意义
* 4. 避免使用MySQL保留字
* 5. 名称长度不超过64个字符
*/
-- 推荐的命名方式
CREATE DATABASE online_shop; -- 在线商店
CREATE DATABASE blog_system; -- 博客系统
CREATE DATABASE user_management; -- 用户管理
-- 不推荐的命名方式
-- CREATE DATABASE MyDatabase; -- 大小写混合
-- CREATE DATABASE my-database; -- 使用连字符
-- CREATE DATABASE 123db; -- 数字开头
-- CREATE DATABASE select; -- 使用保留字查看数据库
sql
-- 查看所有数据库
SHOW DATABASES;
/*
* 输出示例:
* +--------------------+
* | Database |
* +--------------------+
* | information_schema |
* | mysql |
* | performance_schema |
* | sys |
* | mydb |
* +--------------------+
*/
-- 查看数据库创建语句
SHOW CREATE DATABASE mydb;
/*
* 输出示例:
* CREATE DATABASE `mydb`
* /*!40100 DEFAULT CHARACTER SET utf8mb4
* COLLATE utf8mb4_unicode_ci */
*/
-- 模糊查询数据库
SHOW DATABASES LIKE 'my%';
-- 查看当前选择的数据库
SELECT DATABASE();系统数据库说明
sql
/*
* MySQL系统数据库:
*
* 1. information_schema
* - 存储数据库元数据
* - 包含所有数据库的结构信息
* - 如表、列、索引等
*
* 2. mysql
* - 存储用户账户和权限信息
* - 存储系统配置信息
*
* 3. performance_schema
* - 存储性能监控数据
* - 用于性能分析和调优
*
* 4. sys
* - 基于performance_schema的视图
* - 提供易读的性能数据
*/
-- 查询information_schema中的表
USE information_schema;
SHOW TABLES;
-- 查询所有数据库中的表数量
SELECT table_schema, COUNT(*) as table_count
FROM information_schema.tables
GROUP BY table_schema;选择数据库
sql
-- 选择/切换数据库
USE mydb;
-- 选择数据库后显示
-- Database changed
-- 查看当前数据库
SELECT DATABASE();
-- 查看当前数据库中的表
SHOW TABLES;
-- 创建数据库后直接选择
CREATE DATABASE IF NOT EXISTS mydb;
USE mydb;修改数据库
sql
-- 修改数据库字符集
ALTER DATABASE mydb
DEFAULT CHARACTER SET utf8mb4;
-- 修改数据库字符集和校对规则
ALTER DATABASE mydb
DEFAULT CHARACTER SET utf8mb4
DEFAULT COLLATE utf8mb4_unicode_ci;
-- 查看修改后的结果
SHOW CREATE DATABASE mydb;删除数据库
sql
-- 删除数据库的基本语法
-- DROP DATABASE [IF EXISTS] 数据库名;
-- 删除数据库
DROP DATABASE mydb;
-- 删除前检查是否存在
DROP DATABASE IF EXISTS mydb;
-- 注意:删除数据库会删除其中所有数据,谨慎操作!数据库操作实例
sql
-- 完整的数据库操作流程
-- 1. 创建数据库
CREATE DATABASE IF NOT EXISTS shop_system
DEFAULT CHARACTER SET utf8mb4
DEFAULT COLLATE utf8mb4_unicode_ci;
-- 2. 查看数据库
SHOW DATABASES LIKE 'shop%';
-- 3. 选择数据库
USE shop_system;
-- 4. 查看当前数据库
SELECT DATABASE();
-- 5. 修改数据库字符集
ALTER DATABASE shop_system
DEFAULT CHARACTER SET utf8mb4
DEFAULT COLLATE utf8mb4_0900_ai_ci;
-- 6. 查看修改结果
SHOW CREATE DATABASE shop_system;
-- 7. 删除数据库(谨慎操作)
-- DROP DATABASE IF EXISTS shop_system;数据库文件存储
sql
/*
* MySQL数据库文件存储位置:
*
* Windows:C:\ProgramData\MySQL\MySQL Server 8.0\Data\
* Linux:/var/lib/mysql/
* macOS:/usr/local/mysql/data/
*
* 每个数据库对应一个文件夹
* 文件夹中包含:
* - db.opt:数据库配置文件
* - 表结构文件:表名.frm
* - 数据文件:表名.ibd(InnoDB)
* - 索引文件:表名.MYI(MyISAM)
* - 数据文件:表名.MYD(MyISAM)
*/
-- 查看数据目录位置
SHOW VARIABLES LIKE 'datadir';本章小结
本章学习了:
- 创建数据库:CREATE DATABASE语法和字符集设置
- 查看数据库:SHOW DATABASES和相关查询
- 选择数据库:USE命令切换数据库
- 修改数据库:ALTER DATABASE修改配置
- 删除数据库:DROP DATABASE删除数据库
- 系统数据库:information_schema、mysql等系统库
- 数据库命名规范:小写、下划线、有意义
下一章,我们将学习数据类型,了解MySQL支持的各种数据类型。
