Advertisement

以另一种方式探讨CRUD

阅读量:

本文不去讲CRUD的基础知识,我们来换个姿势聊一聊CRUD操作。

我想很多人可能会面临下面这些问题:

  • 批量插入数据,一条失败全部回滚,但想忽略失败的数据继续插入怎么办?
  • 数据存在时更新数据,不存在时插入数据,一定要在每次插入数据之前读一次数据库进行判断吗,批量插入时又怎么办?
  • 子查询有没有可能带来性能问题?什么是相关子查询?如何解决相关子查询性能问题?
  • 多表连接查询,一个相同的查询条件写在WHERE子句和写在连接条件子句中有何区别?
  • UPDATE操作可以使用表连接吗?可以同时更新多张表吗?
  • DELETE操作可以使用表连接吗?可以同时删除多张表吗?

接下来,我们直接进入正题。

1. 批量插入,忽略插入失败的数据

有一个部门表,表结构如下:

复制代码
    CREATE TABLE `t_dept` (
      `deptno` int NOT NULL,
      `dname` varchar(20) DEFAULT NULL,
      `loc` varchar(20) DEFAULT NULL,
      PRIMARY KEY (`deptno`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

里面有这几条原始数据

复制代码
    INSERT

全部评论 (0)

还没有任何评论哟~