MySql按条件插入数据,MySQL插入语句写where条件,MySQL在插入时做幂等
文章目录
- 写在前面
- 根据条件插入数据
- 1、先准备测试数据
- 2、正常的插入语句
- 3、有条件的插入语句(重点)
- 4、查看最终结果
- 总结分析
写在前面
使用MySQL的删、改、查功能时,我们都可以根据where条件来对指定数据进行操作。
插入语句如何通过where条件,来判断是否允许插入呢?
根据条件插入数据
1、先准备测试数据
2、正常的插入语句
insert into `test_table` (id, content) values('3', '内容3');
此时表里有三条数据了:
3、有条件的插入语句(重点)
insert into `test_table` (id, content)
select * from (select '4', '内容4') as tmp
where not exists ( select 1 from `test_table` where id = 1 ) limit 1;
上面sql执行结果:
insert into
test_table
(id, content)
select * from (select ‘4’, ‘内容4’) as tmp
where not exists ( select 1 fromtest_table
where id = 1 ) limit 1
Affected rows: 0
时间: 0.018s
insert into `test_table` (id, content)
select * from (select '4', '内容4') as tmp
where not exists ( select 1 from `test_table` where id = 4 ) limit 1;
上面sql执行结果:
insert into
test_table
(id, content)
select * from (select ‘4’, ‘内容4’) as tmp
where not exists ( select 1 fromtest_table
where id = 4 ) limit 1
Affected rows: 1
时间: 0.018s
4、查看最终结果
总结分析
我们使用insert into语句做了个取巧,我们都知道insert into语句有以下用法:
-- 插入一条
INSERT INTO t1(field1,field2) VALUE(v001,v002);-- 批量插入
INSERT INTO t1(field1,field2) VALUES(v101,v102),(v201,v202),(v301,v302),(v401,v402);-- 指定字段
INSERT INTO t2(field1,field2) SELECT col1,col2 FROM t1 WHERE ……-- 当t2、t1表结构相同时
INSERT INTO t2 SELECT id, name, address FROM t1
我们这里使用第三种方式,自定义了一个临时表,临时表的数据就是我们要insert的数据,此时的临时表就可以写where条件了!
MySql按条件插入数据,MySQL插入语句写where条件,MySQL在插入时做幂等相关推荐
- MySQL查询本年的数据的sql语句
MySQL查询本年的数据的sql语句: SELECT * FROM 表名 WHERE YEAR(时间字段)=YEAR(NOW());
- mysql教程中插入语句_mysql中插入数据Insert into语句用法
在mysql中要向数据库中保存数据我们最常用的一种方法就是直接使用Insert into语句来实现了,下面我来给大家详细介绍Insert into语句用法 INSERT用于向一个已有的表中插入新行.I ...
- 向MySQL数据库中插入数据,sql语句没问题,但插入失败也不报错?
这几天在做一个Javaweb的图书商城项目,在操作数据库的过程中,遇到一个问题? 向数据库中的order数据表中插入数据时,一直插入数据失败.没有报SQL语句语法错误,Eclipse ...
- mysql数据库插入数据为空_用java向mysql数据库中插入数据为空
利用java面向对像编程,向数据库中插入数据时.遇到插入的数据为空的情况.在此做一小结: 1.数据库连接正正常 2.sql语句没有问题 3.程序没有报异常 4.代码: import java.util ...
- SQL (十四)插入数据(insert语句,把数据插入表中)
文章目录 插入完整的行:values子句 不安全写法 安全写法:在表名后的括号明确给出列名 小结 插入行的一部分:简单 插入某些查询的结果(即检索出的数据):insert select 示例:把另一个 ...
- 在表中插入数据的SQL语句
1.插入数据:insert into 表名 values(值列表)[,(值列表)]; 可以一次性插入多条数据. 2.给部分字段插入数据:insert into 表名 (字段列表) v ...
- php创建表并插入数据,php数据库操作-创建库和表以及插入数据
以上我们正确连接到了mysql数据库,本文将进一步创建数据库,表,在表中填充数据. 大家知道连接上数据库才能进行操作,同样的代码搬过来 /* * 数据库操作*(创建数据库,表,插入数据,插入多条数据) ...
- 连接mysql数据库格式_MySQL_Mysql数据库命令大全,一、连接Mysql格式: mysql -h - phpStudy...
Mysql数据库命令大全 一.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL. 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令 ...
- java如何向数据库中插入数据_如何控制Java代码向数据库中插入数据
慕哥6287543 Java程序向数据库中插入数据,代码如下:123456789101112131415161718192021222324252627282930313233343536373839 ...
最新文章
- type=file的未选择任何文件修改_PDF文件怎样输入到CAD图纸中?懂得这个功能可以快速实现...
- 数据结构特性解析 (一) 数组
- boost signals2 coroutine
- 体验VS2017的Live Unit Testing
- python画饼图_百度飞桨PaddlePaddle之[Python小白逆袭大神]7天训练营
- 弱网测试用什么农_弱网测试--使用fiddler进行弱网测试
- 基于Docker+Gitlab搭建Spring Cloud分布式配置中心
- solr 配置中文分析器/定义业务域/配置DataImport功能(测试用)
- Asp.Net Web API 2第十四课——Content Negotiation(内容协商)
- 解决Myeclipse中断点不起作用的方法
- 英伟达显卡排名天梯图2022
- Exadata一体机故障回顾
- 中小型园区网典型配置
- 帆软报表更新到服务器控件展示不出来_报表工具软件FineReport常见问题与解答总结...
- “开宝五子棋陪练”-首款开放智能的五子棋习题练习安卓应用
- mac要装anaconda吗_在Mac OS X上安装Anaconda
- 解决ERROR: distribution port 25672 in use by another node: rabbit@
- MxNet系列——how_to——multi_devices
- 2021年茶艺师(中级)复审考试及茶艺师(中级)复审模拟考试
- 魔兽争霸 java_魔兽maphack其实很简单
热门文章
- Windows Mobile 6.5 安装 QQ 正式版本后无法浏览 WSP 网页的问题!
- CO13N取消报工检查
- 企业视频宣传片制作、存储与应用(常见问题汇总)
- 实现QQ主界面效果[图] 1
- Java SubList 类 Java subList方法 Java ArrayList$SubList 方法特点 SubList 用法
- SIP认证中Qop的字段使用注意
- 锐龙4000系列运行matlab,性能提升60%!AMD锐龙运行Matlab恢复正常
- 若秋叶静离枝淡对离别
- 极速office(Word)怎么在空白处添加下划线
- Android组件化方案最佳实践