mysql菜鸟教程
1.1 什么是数据库?为什么需要它?
1.1.1 从一个生活场景开始
想象一下,你经营着一家小型书店。每天你需要记录:
-
书店里有哪些书?(书名、作者、价格、库存数量)
-
哪些顾客买了书?(顾客姓名、购买时间、买了什么书)
-
每天的收入和支出情况
如果你只有几张纸来记录这些信息,很快就会发现:
-
查找困难:想找某本书的库存?得翻遍所有记录
-
容易出错:手工记录可能写错价格或数量
-
更新麻烦:书卖出一本,要修改多处记录
-
容易丢失:纸张可能被损坏或遗失
这就是我们需要数据库的原因!
1.1.2 数据库的正式定义
数据库(Database) 是一个有组织的、存储在计算机内的数据集合。你可以把它想象成一个电子化的文件柜,但比文件柜聪明得多。
更专业地说,数据库是:
-
按照特定结构组织的数据集合
-
能够被计算机程序高效地访问、管理和更新
-
通常由数据库管理系统(DBMS)来管理
1.1.3 数据库 vs 文件系统
你可能会问:“我可以用Excel或文本文件存数据吗?”
当然可以!但对于复杂的数据管理,数据库有明显优势:
对比项
文件系统(如Excel)
数据库系统
数据量
适合少量数据(通常几万行以内)
可以处理数百万甚至数十亿条记录
多人同时使用
通常只能一人编辑
支持多人同时安全访问
数据一致性
容易产生不一致
保证数据完整性和一致性
查询能力
简单筛选和排序
复杂的多条件查询和连接
安全性
有限的安全控制
精细的权限管理
故障恢复
容易丢失数据
有备份和恢复机制
1.1.4 为什么我们需要数据库?
1. 数据持久化存储
计算机内存(RAM)是临时的,断电就丢失。数据库将数据永久保存在硬盘上,即使关机也不会丢失。
2. 高效的数据管理
想象一下在100万条记录中找一条数据。人工可能需要几天,数据库只需要零点几秒!
-- 数据库只需要这样简单的命令
SELECT * FROM books WHERE title = 'MySQL入门指南';
-- 瞬间就能从百万本书中找到你要的那本
3. 数据共享与协作
在团队或企业中,多人需要访问相同数据:
-
销售部门需要查看库存
-
财务部门需要统计销售额
-
客服部门需要查询客户订单
数据库让这些部门可以同时工作而不会互相干扰。
4. 保证数据一致性
假设你在网上书店买书:
-
库存减少1本
-
你的订单增加1条记录
-
商家的收入增加
这些操作必须要么全部成功,要么全部失败。数据库的事务功能确保不会出现“钱扣了但没收到书”的情况。
5. 数据安全性
数据库可以:
-
为不同用户设置不同权限(经理能看到全部,员工只能看部分)
-
记录谁在什么时候做了什么操作
-
对敏感数据(如密码)进行加密存储
6. 备份与恢复
数据库可以定期自动备份,万一出现硬件故障或人为错误,可以快速恢复数据,最大限度地减少损失。
1.1.5 生活中的数据库应用
数据库无处不在!你每天都在与数据库交互:
场景
使用的数据库
网上购物
商品信息、订单、用户数据都存储在数据库
社交媒体
你的朋友圈、聊天记录、点赞信息
银行系统
账户余额、交易记录、转账信息
医院系统
病历、药品库存、医生排班
学校管理
学生成绩、课程安排、教师信息
手机通讯录
联系人姓名、电话、地址
音乐APP
歌曲库、播放列表、用户偏好
1.1.6 数据库的类型
数据库主要分为两大类:
1. 关系型数据库(SQL数据库)
像Excel表格一样,数据以行和列的形式组织在表中,表与表之间可以建立关系。
特点:
-
使用SQL(结构化查询语言)进行操作
-
数据有严格的结构
-
强调数据的一致性和完整性
-
例子:MySQL、Oracle、SQL Server、PostgreSQL
-- 关系型数据库的表类似这样
-- 用户表
+----+----------+----------+
| id | username | email |
+----+----------+----------+
| 1 | 张三 | zs@xx.com|
| 2 | 李四 | ls@xx.com|
+----+----------+----------+
-- 订单表(通过user_id与用户表关联)
+----+---------+------------+--------+
| id | user_id | order_date | amount |
+----+---------+------------+--------+
| 101| 1 | 2023-10-01 | 100.00 |
| 102| 2 | 2023-10-02 | 200.00 |
+----+---------+------------+--------+
2. 非关系型数据库(NoSQL数据库)
更灵活,不以表格形式存储数据,适合存储非结构化或半结构化数据。
特点:
-
不使用SQL或使用类SQL语言
-
数据结构灵活
-
适合大数据和实时应用
-
例子:MongoDB(文档型)、Redis(键值型)、Cassandra(列存储)
// 非关系型数据库可能这样存储数据
{
"user_id": 1,
"username": "张三",
"email": "zs@xx.com",
"orders": [
{"order_id": 101, "date": "2023-10-01", "amount": 100.00},
{"order_id": 103, "date": "2023-10-05", "amount": 150.00}
]
}
1.1.7 为什么选择MySQL?
在众多数据库中,MySQL特别适合初学者:
-
完全免费:开源软件,可以自由使用和修改
-
简单易学:相比Oracle等商业数据库,MySQL更轻量、更易上手
-
功能强大:虽然免费,但功能非常全面,能满足大多数应用需求
-
广泛应用:被Facebook、Twitter、YouTube等众多大型网站使用
-
社区活跃:遇到问题容易找到解决方案
-
跨平台:可以在Windows、Linux、Mac等系统上运行
1.1.8 本章小结
-
数据库是电子化的、有组织的数据集合,比文件系统更强大
-
我们需要数据库来实现持久化存储、高效管理、数据共享、一致性保证、安全保护和备份恢复
-
数据库分为关系型(如MySQL)和非关系型两大类
-
MySQL因其免费、易学、强大而成为初学者的理想选择
思考题
-
你日常生活中接触的哪些应用或网站可能使用了数据库?它们存储了什么数据?
-
如果你要开发一个简单的博客系统,需要存储哪些数据?这些数据之间有什么关系?
-
为什么大型电商网站(如淘宝、京东)必须使用数据库而不是Excel来管理数据?
动手实践(不需要安装MySQL)
即使还没有安装MySQL,你也可以开始思考:
-
列出你手机通讯录中需要存储的信息(如姓名、电话、地址等)
-
设计一个简单的表格来整理这些信息
-
思考:如果要快速找到某个人的电话,怎样组织数据最有效率?

发表评论
所有评论