我们做Insert操作的,经常要判断insert的条件是否满足。一般的做法,都会先执行一条判断语句,然后再执行insert语句,下面的方法可以帮助你节省第一条判断语句,把这两者结合到一起完成。
测试表: create table ccc (id int primary key, name varchar(100));
1. on duplicate key update columnName=value
insert into ccc values (1,'cc') on duplicate key update name=concat(name,'-b');
避免了不必要的duplicate检查,尤其在进行统计累加的时候,
比如对于所有登录进来的ID进行累加:
insert into ccc values (idxx,1) on duplicate key update count=count+1;
2. insert的where not exists:
当某个条件不满足,或不满足的的时候,决定是否执行插入
insert into ccc (id,name) select 60,'cc' from dual where not exists (select null from ccc where id>5);
2. ignore
稍微有点不同,他是如果有duplicate,那么就直接ignore这次insert
insert ignore into ccc values (1,'cc');
3. Delayed
Delayed 采用缓冲,insert后不立刻插入,放入队列,等待数据表没有其他读的线程的时候,再刷入。
数据在缓冲的时候,select是读取不到的
并且如果发生冲突,是检查不到的
4. High_priority Low_Priority
用来强制跳过服务器设置的规则, 有些设置 update 比select优先, 有些设置了select优先
分享到:
相关推荐
* 可以使用一条 INSERT 语句来插入多条记录,方法是使用多个 VALUES 语句,每个 VALUES 语句中包含一条记录的值。 INSERT 语句的优点是可以快速地插入数据,但是它也有其缺点,例如,如果要插入多条记录,就需要...
在提供的学习资料中,我们看到了几个具体的INSERT语句示例,用于向`T_Course`(课程表)和`T_Score`(成绩表)录入数据。例如: ```sql INSERT INTO dbo.T_Course(C_number, C_name, Teacher, Credit, Hours, Type) ...
根据提供的文件信息,本文将详细解释SQL INSERT语句的基本用法以及如何在Delphi中实现这一操作。首先,我们从SQL INSERT语句的基础概念入手,随后深入探讨如何在Delphi环境中构建并执行这些语句。 ### SQL INSERT ...
2. **数据插入与更新**:INSERT语句用于向表中添加新记录,UPDATE语句则用于修改现有记录。掌握这些语句的正确用法对于保持数据库的准确性和一致性至关重要。 3. **数据删除**:DELETE语句用于从表中移除数据,但需...
在MySQL中,SQL语句主要有以下几类: - SELECT:用于查询数据,可以指定字段、条件、排序方式等。 - INSERT:用于向表中插入新的数据记录。 - UPDATE:用于更新已存在的数据记录。 - DELETE:用于删除数据记录。...
为了更好地理解 `SET IDENTITY_INSERT` 的工作原理,我们将通过几个实际的例子来演示其使用方法: ##### 示例一:创建一个包含 `IDENTITY` 主键的表 首先,创建一个名为 `products` 的表,并设置 `id` 字段为 `...
- INSERT语句:用于向数据库表中插入新的数据行。 - DELETE语句:用于删除表中满足特定条件的数据行。 - UPDATE语句:用于更新表中满足特定条件的数据行。 3. 数据定义语言(DDL):用于创建、修改和删除数据库...
此压缩包中的"经典SQL语句大全.doc"文档,很可能包含了SQL的各种常见操作和高级用法,包括但不限于以下几个方面: 1. **数据查询**:SQL的核心功能就是查询,通过SELECT语句,我们可以从数据库中获取所需的数据。这...
如果只想复制源表中特定的几个字段,可以在`INSERT INTO`后列出这些字段,并在`SELECT`中对应选择: ```sql INSERT INTO 目标表 (字段1, 字段2, …) SELECT 字段1, 字段2, … FROM 来源表; ``` 注意,目标表与...
这对于初学者来说是一个很好的学习工具,他们可以通过查看生成的代码来理解SQL语句的结构和用法。同时,对于经验丰富的开发人员,这个工具也能节省他们在日常工作中编写简单或重复SQL语句的时间。 在使用SQL语句...
这本书的主要内容可能包括以下几个方面: 1. **SQL基础**:书中首先会讲解SQL的基本语法,如如何创建数据库、数据表,以及插入、更新和删除数据的基本语句(CREATE, INSERT, UPDATE, DELETE)。 2. **选择查询**:...
主要包括以下几个方面: - **CREATE DATABASE**: 创建一个新的数据库。 ```sql CREATE DATABASE mydatabase; ``` - **CREATE TABLE**: 在数据库中创建一个新表,并指定该表的结构。 ```sql CREATE TABLE ...
首先,SQL的基础知识包括以下几个部分: 1. **数据类型**:SQL中的数据类型有数值型(如INT、FLOAT)、字符串型(VARCHAR、CHAR)、日期时间型(DATE、TIMESTAMP)等,理解这些数据类型对于创建表结构至关重要。 2...
SQL主要包括以下几个基本操作: 1. **SELECT语句**:用于从表中选取数据。你可以根据需要选择特定列、过滤行(WHERE子句)、分组数据(GROUP BY子句)、进行聚合操作(如COUNT、SUM、AVG、MAX、MIN)以及排序...
它们有以下几个优点: 1. **性能优化**:存储过程可以缓存执行计划,多次调用比单独执行SQL语句更高效。 2. **模块化编程**:将复杂的逻辑封装起来,便于管理和复用。 3. **安全性**:可以设置访问权限,限制对数据...
通过这个命令,用户可以在一个单一的SQL语句中完成对表的插入(`INSERT`)和更新(`UPDATE`)操作,极大地简化了数据处理流程并提高了效率。 #### 二、Oracle 10g 中 Merge 命令的新特性 在Oracle 10g中,`MERGE`命令...
SQL分为几个主要部分:数据查询语言(DQL)、数据操纵语言(DML)、数据定义语言(DDL)和数据控制语言(DCL)。 1. **数据查询语言(DQL)**:用于检索数据。基础的DQL语句包括`SELECT`,它允许我们从一个或多个表...
注意:使用运算词的几个查询结果行必须是一致的。 五、外连接 12. 左外连接(左连接):结果集包括连接表的匹配行,也包括左连接表的所有行。 ```sql SELECT a.a, a.b, a.c, b.c, b.d, b.f FROM a LEFT OUTER JOIN...