数据库原理及开发应用:实验与课程设计指导

本指导涵盖数据库原理及实验指导核心知识,从DML数据操纵事务ACID,结合网民关注的周边信息,助你彻底掌握数据库开发应用

? 实验核心:数据操纵与查询

精准捞取数据:WHERE与LIKE

上节课刚讲了如何把数据存进去,今天直接讲如何从数据库中捞出来。写查询语句时务必搭配WHERE过滤,否则返回整表。数据库原理及开发应用实验中,SELECT 姓名 FROM 学生 WHERE 班级='1班' 比全列检索高效得多。

-- 示例:查找姓“张”的学生
SELECT 姓名, 学号 FROM 学生 WHERE 姓名 LIKE '张%';
-- 通配符 % 匹配任意字符,避免遗漏“张三”或“张伟”

注意LIKE关键词里必须加通配符%,否则效果乱套。搜“张%”得到全名,搜“%张%”则包含“小张”。

插入与更新:主键身份证号

主键是数据库的“身份证号”,每个值必须唯一。插入数据时若主键重复,数据库会报警“编号重复”。手动插入ID 1000002时需确认原记录是否存在。

INSERT INTO 学生 (学号, 姓名) VALUES (1000003, '王五');
UPDATE 学生 SET 姓名='李小明' WHERE 班级='1班';

更新时配合WHERE条件过滤,避免全表改名。实验指导中强调数据库原理的约束完整性。

删除操作与外键防线

DELETE不加WHERE会清空表,误删后需补库成本极高。外键约束是数据完整性的最终防线:订单表中的用户ID必须对应真实用户。

DELETE FROM 订单 WHERE 用户ID = 105 AND 状态='取消';
-- 外键约束确保不会出现孤儿记录

⚡ 事务与ACID:数据库的“账本”

事务就是数据库原理中的账本机制。转账场景中,扣款和贷款必须同属一个事务。Commit拍板所有操作,要么全成功要么全失败。回滚机制自动撤销异常操作,确保数据一致性。

原子性(Atomicity):事务不可分割。例如转账100元,扣款与入账同时成功或同时撤销。
一致性(Consistency):事务前后数据满足约束。比如总金额不变。
隔离性(Isolation):并发事务互不干扰。避免脏读、不可重复读。
持久性(Durability):一旦提交,数据永久保存。

? 聚合函数与窗口函数实战

聚合函数是处理批量数据的利器:SUMAVGMAXMIN。若需剔除零值,加WHERE条件。更高级的窗口函数ROW_NUMBER()能为每行分配唯一编号。

SELECT 姓名, 销售额,
ROW_NUMBER() OVER (ORDER BY 销售额 DESC) as 排名
FROM 销售表 LIMIT 10;

实验指导中常用GROUP BYHAVING过滤分组,结合索引提升性能。