复习mysql数据库
基于学生系统数据库重新温习了一遍数据库的知识,包括以下内容: 1.数据库核心: 表结构(数据类型、约束条件、主键、外键)、表的关系(1:1、1:N、(M:N)、数据库设计规范化((1NF)原子性、(2NF)完全依赖、(3NF)消除传递依赖) 2.SQL操作: 数据查询 SELECT:简单查询、查询指定字段、条件查询 WHERE(单条件、多条件、模糊)、排序(ORDER BY/DESC)、限制结果数量LIMIT、聚合函数(统计函数COUNT()、分组统计COUNT()与GROUP BY、分组后过滤GROUP BY field HAVING condition、连接查询JOIN 数据插入INSERT:插入单条记录、插入多条记录、从查询结果插入 数据更新UPDATE:更新单个字段、更新多个字段、基于条件批量更新、 基于关联表更新 数据删除:批量删除、关联删除 子查询:在WHERE中使用子查询WHERE field IN(SQL查询语句)、在SELECT中使用子查询 SELECT field,(SQL查询语句)FROM、EXISTS子查询WHERE EXISTS 窗口函数:排名函数、聚合窗口函数 复杂查询: 3.SQL最佳实践和注意事项: SQL性能优化:使用索引字段进行查询、避免在函数中使用字段、使用LIMIT限制结果集 安全编程:避免SQL注入、使用参数化查询 数据完整性约束:创建表时添加约束 事务处理:确保数据一致性的事务操作START TRANSACTION; SQL COMMIT; ROLLBACK; 4. 常见错误和解决方案: 数据类型不匹配: NULL值处理:查询字段为空的记录WHERE field IS NULL、处理NULL值COALESCE(field, 0) as field--如果field为NULL,显示0 字符编码问题:确保正确的字符集设置CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci JOIN操作的常见陷阱:忘记JOIN条件导致笛卡尔积会产生所有字段的组合JOIN field e ON s.field1 = e.field2
总结:掌握关系型数据库的关键点 概念理解: 表、字段、记录的基本概念 主键、外键的作用和重要性 表与表之间的关系类型 数据库规范化的意义 SQL技能: 熟练使用SELECT进行各种查询 掌握JOIN操作连接多表数据 理解聚合函数和分组查询 能够进行数据的增删改操作 实践能力: 能够设计合理的表结构 理解索引对性能的影响 知道如何保证数据的完整性 具备基本的SQL调优意识
