mysql菜鸟教程
1.1 什么是数据库?为什么需要它?
1.1.1 从一个生活场景开始
想象一下,你经营着一家小型书店。每天你需要记录:
书店里有哪些书?(书名、作者、价格、库存数量)
哪些顾客买了书?(顾客姓名、购买时间、买了什么书)
每天的收入和支出情况
如果你只有几张纸来记录这些信息,很快就会发现:
查找困难:想找某本书的库存?得翻遍所有记录
容易出错:手工记录可能写错价格或数量
更新麻烦:书卖出一本,要修改多处记录
容易丢失:纸张可能被损坏或遗失
这就是我们需要数据库的原因!
1.1.2 数据库的正式定义
数据库(Database) 是一个有组织的、存储在计算机内的数据集合。你可以把它想象成一个电子化的文件柜,但比文件柜聪明得多。
更专业地说,数据库是:
按照特定结构组织的数据集合
能够被计算机程序高效地访问、管理和更新
通常由数据库管理系统(DBMS)来管理
1.1.3 数据库 vs 文件系统
你可能会问:“我可以用Excel或文本文件存数据吗?”
当然可以!但对于复杂的数据管理,数据库有明显优势:
1.1.4 为什么我们需要数据库?
1. 数据持久化存储
计算机内存(RAM)是临时的,断电就丢失。数据库将数据永久保存在硬盘上,即使关机也不会丢失。
2. 高效的数据管理
想象一下在100万条记录中找一条数据。人工可能需要几天,数据库只需要零点几秒!
-- 数据库只需要这样简单的命令 SELECT * FROM books WHERE title = 'MySQL入门指南'; -- 瞬间就能从百万本书中找到你要的那本
3. 数据共享与协作
在团队或企业中,多人需要访问相同数据:
销售部门需要查看库存
财务部门需要统计销售额
客服部门需要查询客户订单
数据库让这些部门可以同时工作而不会互相干扰。
4. 保证数据一致性
假设你在网上书店买书:
库存减少1本
你的订单增加1条记录
商家的收入增加
这些操作必须要么全部成功,要么全部失败。数据库的事务功能确保不会出现“钱扣了但没收到书”的情况。
5. 数据安全性
数据库可以:
为不同用户设置不同权限(经理能看到全部,员工只能看部分)
记录谁在什么时候做了什么操作
对敏感数据(如密码)进行加密存储
6. 备份与恢复
数据库可以定期自动备份,万一出现硬件故障或人为错误,可以快速恢复数据,最大限度地减少损失。
1.1.5 生活中的数据库应用
数据库无处不在!你每天都在与数据库交互:
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,你也可以开始思考:
列出你手机通讯录中需要存储的信息(如姓名、电话、地址等)
设计一个简单的表格来整理这些信息
思考:如果要快速找到某个人的电话,怎样组织数据最有效率?

发表评论
所有评论