MySQL
数据库
danxiao898
谁说光头才能变强?
展开
-
换个姿势聊一聊CRUD
本文不去讲CRUD的基础知识,我们来换个姿势聊一聊CRUD操作。 我想很多人可能会面临下面这些问题: 批量插入数据,一条失败全部回滚,但想忽略失败的数据继续插入怎么办? 存在更新数据,不存在插入数据,一定要在每次插入数据之前读一次数据库进行判断吗,批量插入时又怎么办? 子查询有没有可能带来性能问题?如何避免? 多表连接查询,一个相同的查询条件写在WHERE子句和写在连接条件子句中有何区别? UPDATE操作可以使用表连接吗?可以同时更新多张表吗? DELETE操作可以使用表连接吗?可以同时删除多张表吗?原创 2020-07-06 16:11:32 · 1174 阅读 · 1 评论 -
MySQL存储引擎选择
MySQL存储引擎有很多,本文只围绕工作中常用的MySQL存储引擎InnoDB、MyISAM、Memory以及一个比较新的存储引擎TokuDB进行说明。 1. MyISAM 描述: MySQL5.1以前的默认存储引擎 优点: 读取速度快 支持全文索引 缺点: 使用表锁保证数据一致性,带来很多性能问题,高并发性能差 不支持事务 不支持外键 崩溃后无法安全恢复 适用场景: 对于只读的数据,或者表比较小、可以忍受崩溃所带来的修复操作,可以使用此存储引擎。 2. Memory 描述: 将数据存放在内存中原创 2020-07-06 10:27:08 · 362 阅读 · 0 评论 -
说一说数据库三大范式
1. 第一范式(每列原子性) 第一范式要求所有的域都是原子性的,即每一列都不可(不须)分割。 以学生表为例,学生表有姓名、学号、年龄、性别、家庭住址等信息组成。在这个表中,可以看作所有列都不可分割(假设地址中的省、市、区、详细地址在本应用中是组合在一起的,不会拆分开来用。从这一点来看,地址列不可/不须分割),所以是满足第一范式的。 第一范式的合理性也需要结合实际需求来,上表满足第一范式是有一个前...原创 2020-01-16 17:27:28 · 2243 阅读 · 0 评论 -
MySQL约束
文章目录导言1. 主键约束1.1 创建主键约束2. 非空约束3. 默认约束4. 唯一约束 导言 上一节提到了MySQL的主键约束,这一节再来讲一讲MySQL的其他约束。本节将针对MySQL的主键约束、唯一约束、默认约束、非空约束进行讲解。 1. 主键约束 主键约束的关键字为PRIMARY KEY,主键约束所约束的是一个列或多个列的组合。被约束的一列或多列具有唯一性,可以通过主键来标识某一行。主键约...原创 2020-01-14 16:44:05 · 301 阅读 · 1 评论 -
MySQL外键约束
文章目录1. 导言 1. 导言 上一节详细介绍了MySQL的查询操作,其中有涉及到对多张表的操作。我们不得不想以下问题: 添加employee时,有没有可能将dept_id添加为一个不存在的部门id? 如果有可能,如何避免? 如果错误的删除了部门表中的某一列,而恰恰有某个员工属于该部门,那会出现什么问题,该如何避免? 解决上述问题的方式很简单,只需要对employee表添加外键约束即可,在新创...原创 2020-01-14 15:02:02 · 305 阅读 · 0 评论 -
MySQL多表查询讲解
文章目录开始之前多表联合查询连接查询内连接查询左外连接查询右外连接查询全连接查询其他查询方式子语句查询 开始之前 多表联合查询 连接查询 内连接查询 左外连接查询 右外连接查询 全连接查询 其他查询方式 子语句查询 ...原创 2020-01-13 16:45:19 · 285 阅读 · 0 评论