PHP 入门教程
MySQL 数据库简介
本教程共 65 篇 · 第 47 篇 · 更新于 2026-07-24 · 约 7 分钟阅读
PHPPHP8MySQL数据库SQL数据类型RDBMS
47. MySQL 数据库简介
本节目标:理解关系型数据库的基本概念,掌握 MySQL 常用数据类型,能够编写基础的 SQL 语句。
Web 应用离不开数据存储。PHP 通常与 MySQL 搭配使用,两者组成了经典的 “LAMP” 架构。本节先打好基础,了解数据库的核心概念。
1. 什么是关系型数据库
关系型数据库(RDBMS)将数据存储在**表(Table)**中。表由行和列组成,类似 Excel 表格。
- 行(Row):一条记录,如一个用户的信息
- 列(Column):一个字段,如用户名、邮箱
- 表(Table):同一类数据的集合,如
users表 - 数据库(Database):多个相关表的集合
不同表之间可以通过主键和外键建立关联,这就是”关系”的含义。
2. MySQL 基础概念
MySQL 是目前最流行的开源关系型数据库之一,由 Oracle 公司维护。主要特点:
- 开源免费:社区版完全免费
- 性能优秀:千万级数据仍能快速响应
- 生态完善:与 PHP 配合默契,文档丰富
- 跨平台:支持 Windows、Linux、macOS
NoteMySQL 的衍生品 MariaDB 由创始人另起炉灶,语法几乎完全兼容,部分 Linux 发行版默认使用 MariaDB。
3. 常用数据类型
选择合适的数据类型能节省空间、提升性能。
数值类型
| 类型 | 说明 | 示例 |
|---|---|---|
INT | 整数,范围约正负 21 亿 | INT(11) |
BIGINT | 大整数 | 用户 ID、订单号 |
DECIMAL(10,2) | 精确小数,适合金额 | 99999999.99 |
FLOAT / DOUBLE | 浮点数 | 科学计算 |
Tip金额字段必须用
DECIMAL,不要用FLOAT,否则会出现精度误差。
字符串类型
| 类型 | 说明 | 示例 |
|---|---|---|
VARCHAR(255) | 变长字符串 | 用户名、标题 |
TEXT | 长文本 | 文章内容 |
CHAR(1) | 定长字符串 | 性别 M/F |
日期时间类型
| 类型 | 说明 | 示例 |
|---|---|---|
DATE | 日期 | 2024-01-15 |
DATETIME | 日期+时间 | 2024-01-15 09:30:00 |
TIMESTAMP | 时间戳,自动更新 | 记录创建/修改时间 |
4. SQL 基础语法
SQL(Structured Query Language)是操作数据库的标准语言。核心分为四类:
- DDL(数据定义):
CREATE、ALTER、DROP - DML(数据操作):
INSERT、UPDATE、DELETE - DQL(数据查询):
SELECT - DCL(权限控制):
GRANT、REVOKE
创建数据库
CREATE DATABASE my_app CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
utf8mb4 支持完整的 Unicode,包括 emoji 表情。
使用数据库
USE my_app;
查看所有表
SHOW TABLES;
5. 表结构设计原则
初学者设计表时,遵循以下原则:
- 每个表都要有主键:通常是自增
INT或BIGINT - 选择合适的数据类型:够用即可,不要浪费空间
- 为常用查询字段加索引:如邮箱、手机号
- 允许为空的字段要谨慎:核心字段建议
NOT NULL
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB;
Note
InnoDB是 MySQL 的默认存储引擎,支持事务和外键。旧版的MyISAM已不推荐。
小结
MySQL 是 PHP 开发的最佳搭档。理解数据类型和基本 SQL 语法后,下一步就是学习如何在 PHP 中连接数据库。
来源:参考了 runoob「PHP MySQL 简介」、w3cschool 数据库教程、php-the-right-way,改写后所得。