MySQL 入门:数据库基础概念与使用流程
为什么需要数据库?
单纯用文件存储数据存在明显局限:安全性低、查询管理困难、难以支撑海量数据、在程序中控制不便。数据库应运而生,它通过更高效的机制管理数据,是衡量程序员水平的重要指标。
主流数据库概览
| 数据库名称 | 描述 |
|---|---|
| SQL Server | 微软产品,.Net 生态常用,适合中大型项目 |
| Oracle | 甲骨文产品,适合复杂业务逻辑的大型项目 |
| MySQL | 全球最流行,并发性好,常用于电商、SNS、论坛 |
| PostgreSQL | 开源关系型数据库,支持商用和学术研究 |
| SQLite | 轻量级嵌入式数据库,资源占用极低 |
| H2 | Java 开发的嵌入式数据库库 |
MySQL 基本使用
连接服务器
本地连接默认命令如下:
mysql -h127.0.0.1 -P3306 -u root -p
-h指定主机,未写默认为本地-P指定端口,未写默认为 3306
服务管理
Windows 下可通过 services.msc 打开服务管理器进行启动、停止或重启操作。
架构关系
安装数据库服务器只是安装了管理系统程序,它可以管理多个数据库。每个应用通常对应一个数据库,而数据库中则包含多个表来保存实体数据。
关系结构:数据库服务器 > 数据库 > 表
SQL 语句分类
SQL 主要分为四大类,理解它们的区别有助于规范编写:
- DDL (Data Definition Language):数据定义语言。用于维护数据结构,如创建、删除、修改对象。
- 指令:
CREATE,DROP,ALTER - 特性:执行时隐式提交,不可回滚。
- 指令:
- DML (Data Manipulation Language):数据操纵语言。用于对数据进行增删改。
- 指令:
INSERT,UPDATE,DELETE - 特性:需显式事务控制(COMMIT/ROLLBACK)。
- 指令:
- DQL (Data Query Language):数据查询语言。专指查询操作。
- 指令:
SELECT - 特性:读操作,不触发隐式提交。
- 指令:
- DCL (Data Control Language):数据控制语言。负责权限管理和事务控制。
- 指令:
GRANT,REVOKE,COMMIT - 注:严格标准中
COMMIT等归为 TCL (Transaction Control Language)。
- 指令:
存储引擎
存储引擎决定了数据如何存储、索引及更新查询。MySQL 核心优势在于插件式存储引擎。
查看当前支持的引擎:
SHOW ENGINES;
常见引擎包括 InnoDB(支持事务、行锁)和 MyISAM(不支持事务,速度快但锁粒度大),实际开发中 InnoDB 更为常用。
实战演练:创建学生表
下面是一个完整的操作流程,从建库到查询。
1. 创建并使用数据库
CREATE DATABASE helloworld;
USE helloworld;
2. 创建表结构
注意字段类型选择,VARCHAR 需指定长度。
CREATE TABLE student (
id INT,
name VARCHAR(32),
gender VARCHAR(2)
);
3. 插入与查询数据
INSERT INTO student (id, name, gender) VALUES (1, '张三', '男');
INSERT INTO student (id, name, gender) VALUES (2, '李四', '女');
SELECT * FROM student;
关键字大小写规范
MySQL 中的关键字(如 SELECT, DROP)不区分大小写,以下写法等价:
select * from student;
SELECT * FROM student;
Select * From Student;
最佳实践建议:
- 关键字大写:提高可读性,便于区分结构部分和用户定义部分。
- 标识符小写:表名、列名建议使用全小写(如
student),避免跨平台(Linux/Windows)文件系统大小写敏感问题。 - 特殊字符:若必须混用大小写,使用反引号包裹,例如
`Student`。
总结
掌握数据库基础不仅涉及语法记忆,更在于理解其架构设计与存储原理。在实际工作中,遵循统一的命名规范、合理选择存储引擎、规范书写 SQL 语句,是保障系统稳定性的关键。

