数据库是结构化存储与管理数据的系统,由数据库(db)、数据库管理系统(dbms,如mysql)和sql语言三者构成;其核心为二维表,支持持久化、高效查询、并发控制、事务及权限管理。

数据库,说白了就是一个有组织、可查找、能管理的数据仓库。它不是随便堆文件的硬盘文件夹,而是用结构化方式(比如表格)把数据存好,再通过软件(MySQL 就是其中一种)来增、删、改、查——就像你用 excel 管理通讯录,但比 Excel 更稳、更快、更安全、更能多人同时用。
数据库 ≠ MySQL,分清三个关键角色
很多人一说“数据库”就直接说“MySQL”,其实它们不是一回事:
- 数据库(DB):真正存数据的地方,比如一个叫 school_db 的库,里面放着学生表、课程表、成绩表等——它本质是一组按规则组织的文件,存在磁盘上。
- 数据库管理系统(DBMS):也就是 MySQL 软件本身。它像一个“管家”,负责创建库、建表、执行查询、控制权限、备份恢复。你敲的
select * FROM students;是给它看的,它再去磁盘上找数据。 - SQL(结构化查询语言):人和 DBMS 之间沟通的“普通话”。不管用 MySQL、postgresql 还是 oracle,
INSERT、UPDATE、WHERE这些关键词都通用——学会 SQL,换数据库也不用重学语法。
关系型数据库长什么样?核心就是“二维表”
MySQL 属于关系型数据库(RDBMS),它的基本单位是表(table),长得就像 Excel 表格:
- 每一列(column)叫一个字段,定义数据类型(如姓名是
VARCHAR,年龄是int); - 每一行(Row)叫一条记录,代表一个具体实体(比如张三这一名学生);
- 每张表通常有一个主键(Primary Key),比如
id字段,保证每条记录独一无二,方便快速定位; - 表和表之间还能用外键(Foreign Key)关联,比如“订单表”里存一个
user_id,就能对应到“用户表”的某个人——这就是数据之间的逻辑联系。
为什么非得用数据库,不用文件或变量?
对比其他方式,数据库解决的是真实场景里的硬需求:
- 变量/内存存储:程序一关,数据全丢——数据库把数据持久化存在硬盘上;
- 普通文本/CSV 文件:查某个人的成绩要逐行扫描,10 万条数据可能卡几秒;数据库靠索引(类似书的目录),毫秒级响应;
- 多用户同时操作:文件没锁机制,两人同时改同一份成绩单容易写乱;数据库支持事务(Transaction),要么全成功,要么全回滚,保障数据一致;
- 权限与安全:你能让财务只看工资表,让老师只改成绩表——文件系统做不到这种细粒度管控。
入门第一步:连上它,看看里面有什么
装好 MySQL 后,最简单的验证方式就是命令行连接:
mysql -h 127.0.0.1 -P 3306 -u root -p # 输入密码后进入交互界面
然后输入:
-
SHOW DATABASES;—— 看当前有哪些数据库 -
USE mysql;—— 切换到系统自带的 mysql 库 -
SHOW TABLES;—— 看这个库里有哪些表 -
SELECT User, Host FROM userG;—— 查看当前用户列表(G让结果竖排,更易读)
不需要写复杂代码,先动手敲几行,看到真实反馈,你就已经站在 MySQL 门口了。