mysql菜鸟教程
4.1 创建你的第一个数据库
在MySQL中,数据库就像一个专门存放数据的“逻辑仓库”或“容器”,所有数据表都存放在这个容器里。创建数据库,就是为你的数据搭建一个专属的家。
一、核心命令:CREATE DATABASE
创建数据库最核心、最基础的命令就是 CREATE DATABASE。其完整语法结构如下:
CREATE DATABASE [IF NOT EXISTS] 数据库名 [CHARACTER SET 字符集名称] [COLLATE 排序规则名称];
理解这个命令:
CREATE DATABASE 数据库名:这是命令的骨架,意思是“创建一个名为[数据库名]的数据库”。
[IF NOT EXISTS]:一个贴心的“安全开关”。如果指定名称的数据库已经存在,加上这个选项后,MySQL会显示一个警告而非错误,避免中断后续脚本的执行。对于新手,非常推荐养成使用它的习惯。
[CHARACTER SET ...]:为数据库设置字符集,决定可以存储哪些字符(如utf8mb4支持所有Unicode字符,包括中文、表情符号)。
[COLLATE ...]:为数据库设置排序规则,决定字符串比较和排序的规则(如是否区分大小写、重音)。
二、开始创建:从最简单的命令入手
让我们从最直接的方式开始。假设你想创建一个名为 my_first_db 的数据库,只需在 mysql> 命令行中输入:
CREATE DATABASE my_first_db;
执行后,如果看到提示 Query OK, 1 row affected (0.01 sec),就表示数据库创建成功了!简单吧?
更安全的方式:使用 IF NOT EXISTS
为了避免因数据库已存在而导致的错误,更稳健的写法是:
CREATE DATABASE IF NOT EXISTS my_first_db;
这样,即使 my_first_db 已经存在,命令也会顺利执行(显示一个警告),而不会报错。
指定字符集,让数据库“读懂”中文
在MySQL 5.7及更早版本中,默认字符集可能不支持完整的中文存储(如默认的 latin1 字符集)。为了确保万无一失,强烈建议在创建数据库时明确指定使用 utf8mb4 字符集。这是MySQL 8.0的默认设置,它能完美支持包括中文在内的所有Unicode字符。
CREATE DATABASE IF NOT EXISTS my_first_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CHARACTER SET utf8mb4:设置字符集为 utf8mb4。
COLLATE utf8mb4_unicode_ci:设置排序规则为 utf8mb4_unicode_ci。这个规则是“不区分大小写(ci, Case Insensitive)的Unicode通用排序规则”,很适合中文和英文混合的场景。
三、查看与选择:确认并使用你的数据库
创建完成后,你肯定想看看它,然后开始使用它。
1. 查看所有数据库
使用 SHOW DATABASES; 命令,可以列出当前MySQL服务器上所有的数据库。
SHOW DATABASES;
你会发现,除了你刚创建的 my_first_db,列表里还有 information_schema、mysql、performance_schema、sys 等系统自带的数据库。
2. 选择(进入)一个数据库
要在一个数据库里创建表或查询数据,必须先“进入”这个数据库,或者说“选择”它作为当前的工作上下文。使用 USE 命令:
USE my_first_db;
执行成功后,提示符可能会变化(某些客户端会显示数据库名),或者简单地显示 Database changed。这意味着后续所有操作(如建表)默认都会在这个数据库内进行。
你可以随时用 SELECT DATABASE(); 命令来查看当前正在使用哪个数据库。
3. 删除一个数据库(请谨慎操作!)
如果某个数据库不再需要,可以使用 DROP DATABASE 命令删除它。这个操作会永久删除数据库及其内部所有数据,且无法撤销,请务必谨慎!
-- 删除数据库(危险!请确认后再执行) DROP DATABASE my_first_db; -- 更安全的删除方式(如果存在才删除) DROP DATABASE IF EXISTS my_first_db;
四、完整实战:创建一个“图书管理系统”数据库
让我们通过一个连贯的案例,把上面的知识点串起来。假设你要为一个小型图书馆创建一个数据库。
1.第一步:创建数据库
-- 创建一个名为 `library` 的数据库,并确保它能完美支持中文 CREATE DATABASE IF NOT EXISTS library CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
2.第二步:查看是否成功
SHOW DATABASES;
在输出的列表中,你应该能找到 library。
3.第三步:选择并开始使用
USE library; SELECT DATABASE(); -- 确认当前数据库已切换为 `library`
恭喜!现在你已经在 library 数据库的“工作区”里了。接下来,你就可以在这个库里创建“图书表”、“读者表”、“借阅记录表”等等。
五、命令总结与最佳实践
给初心的最佳实践建议:
命名规范:数据库名最好使用小写字母、数字和下划线的组合,做到见名知意(如 school_db, ecommerce_platform)。
安全第一:在写SQL脚本时,对 CREATE 和 DROP 这类操作尽量加上 IF NOT EXISTS 或 IF EXISTS,让你的脚本更健壮。
字符集统一:除非有特殊需求,否则创建数据库时请坚持使用 CHARACTER SET utf8mb4,这是避免中文乱码的最佳保障。
先选择,后操作:记住,在创建表之前,一定要先用 USE 数据库名; 命令切换到目标数据库。
你已经成功迈出了管理数据的第一步——创建了一个专属的数据容器。这就像为你的信息世界打下了一块坚实的地基。

发表评论
所有评论