复习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调优意识

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
凌空零
作者分享
口述学习内容 5.8 事务隔离级别:为解决多个事务并行操作数据库可能出现脏读、不可重复读与幻读这三种问题,得出了四种事务级别,作为不同场景下的事务问题解决方案。 读未提交;问题全有。 脏读:读到了别人已修改但还没提交的数据,后面别人的事务可能回滚,读到的就成了假数据。 不可重复读:同一事务内,两次读数据的值不同,因为期间被别人修改了。 幻读:同一事务内,两次查询数据的行数不同,因为期间数据被别人增加或删除了。 读已提交:通过锁表?将还没提交的行锁起来,解决脏读。 可重复读:通过给数据库加版本号,同一事务内读到的数据是同一个版本的数据库,解决了不可重复读。 串行:通过锁数据库?同一时间只有一个事务内操作数据库,解决了幻读。 5.7 mysql:DDL、DML。单表函数、多表函数:聚合函数。 项目:1.黑马苍穹外卖实现员工登录、新增员工功能。2.登录功能将明文登录密码转为密文存入数据库的功能。3.通过转换工具将员工DTO的属性拷贝到员工实体中,实现便捷编写代码。4.新增员工的用户名有唯一索引且与数据库表中已有数据重复而发现运行时异常报错,通过编写自定义用户已存在异常,编写全局异常处理器捕获自定义异常,实现异常处理。且统一异常处理,代码可复用、异常与业务代码分离,代码可读性高。
2
java高级与sping的学习
3
Spring 框架实现“统一逻辑处理”的两种核心方式
3
java集合复习
3
集合的迭代器遍历复习
2
下载 APP