![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
堆栈花园的MySQL学习备忘录
Roxic堆栈花园
一个学习java的菜鸟。发布文章纯属为了增强记忆,方便回顾。如有错误,欢迎指出!
展开
-
堆栈花园的MySQL学习备忘录——设计三范式
一、什么是设计范式 设计表的依据。按照这个三范式设计的表不会出现数据冗余。 二、三范式有哪些? 1. 第一范式 任何一张表都应该有主键,并且每一个字段原子性不可再分。 2. 第二范式 建立在第一范式的基础之上,所有非主键字段完全依赖主键,不能产生部分依赖。 3. 第三范式 建立在第二范式的基础之上,所有非主键字段直接依赖主键,不能产生传递依赖。 表的设计小口诀: 一对一?主键共享或外键唯一。 一对多?两张表,多的表加外键。 多对多?三张表,关系表两个外键。 ...原创 2020-08-08 09:48:18 · 102 阅读 · 0 评论 -
堆栈花园的MySQL学习备忘录——索引
一、什么是索引?有什么作用? 索引就相当于一本书的目录,通过目录可以快速的找到对应的资源。 在数据库方面,查询一张表的时候有两种检索方式: 第一种方式:全表扫描 第二种方式:根据索引检索(效率很高) 索引为什么可以提高检索效率呢? 其实最根本的原理是缩小了扫描的范围。 注意:索引虽然可以提高检索效率,但是不能随意的添加索引,因为索引也是数据库当中的对象,也需要数据库不断的维护。是有维护成本的。比如,表中的数据经常被修改这样就不适合添加索引,因为数据一旦修改,索引需要重新排序,进行维护。 二、怎么创建索引原创 2020-08-08 09:48:07 · 102 阅读 · 0 评论 -
堆栈花园的MySQL学习备忘录——事务
一、什么是事务? 一个事务是一个完整的业务逻辑单元,不可再分。 比如:银行账户转账,从A账户向B账户转账10000.需要执行两条update语句: update t_act set balance = balance - 10000 where actno = 'act-001'; update t_act set balance = balance + 10000 where actno = 'act-002'; 以上两条DML语句必须同时成功,或者同时失败,不允许出现一条成功,一条失败。 要想保原创 2020-08-08 09:47:57 · 113 阅读 · 0 评论 -
堆栈花园的MySQL学习备忘录——SQL语句的分类
DQL(数据查询语言) 查询语句,凡是select语句都是DQL。 DML(数据操作语言) insert delete update,对表当中的数据进行增删改。 DDL(数据定义语言) create drop alter,对表结构的增删改。 TCL(事务控制语言) commit提交事务,rollback回滚事务。(TCL中的T是Transaction) DCL(数据控制语言) grant授权、revoke撤销权限等。 ...原创 2020-08-08 09:47:43 · 88 阅读 · 0 评论