timg.jpg

先看SQL:

INSERT INTO `movie_detail_tab` (VIDEO_ID, PLAY_URL) SELECT

b.ID AS VIDEO_ID,

x.playurl AS PLAY_URL

FROM

(

SELECT

a.playurl,

CONCAT(

a.`卡通名`,

a.`第几集`

) AS 'videoCname'

FROM

(

SELECT

playurl,

SUBSTRING_INDEX(sname, ' ', 1) AS '卡通名',

IF (

SUBSTRING_INDEX(sname, ' ' ,- 1) < 10,

CONCAT(

0,

SUBSTRING_INDEX(sname, ' ' ,- 1)

),

SUBSTRING_INDEX(sname, ' ' ,- 1)

) AS '第几集'

FROM

`movie_tab`

) a

) x

INNER JOIN `video_detail_tab` b ON x.videoCname = b.VIDEO_CNAME

WHERE

x.playurl NOT IN (

SELECT

c.PLAY_URL

FROM

`movie_detail_tab` c

);

涉及三个表:

1. movie_detail_tab

id

VIDEO_ID

PLAY_URL

1

152

09f5280806d0fbab9fcc3c7f2ce37cc8

2

153

d9c427446ca5aeceb5c0d7f310858373

2. movie_tab

id

sname

playurl

1

海贼王 1

98aed93a41bd4fe07f5824420511674c

2

海贼王 2

598ce51cb2be1edbbc3dd2ce32a8af47

3. movie_detail_tab

id

VIDEO_CNAME

1

海贼王01

2

海贼王02

要实现批量插入不重复的movie_tab中的playurl以及对应movie_detail_tab中的id到movie_detail_tab

主要问题:

movie_tab里的sname卡通名和集数之间有空格

movie_detail_tab里的VIDEO_CNAME小于10的集数有数字0,比如01集

主要通过三个MySQL函数解决

1. SUBSTRING_INDEX(str,delim,count)

str:要处理的字符串

delim:分隔符

count:计数

返回从字符串str分隔符delim中的计数发生前的子字符串。 如果计数是正的,则返回一切到最终定界符(从左边算起)的左侧。如果count为负,则返回一切到最后一个分隔符(右算起)的右侧。SUBSTRING_INDEX() 搜索delim时进行区分大小写的匹配。

2. IF()

在MySQL中IF()函数的用法类似于java中的三目运算符

IF(expr1,expr2,expr3),如果expr1的值为true,则返回expr2的值,如果expr1的值为false,则返回expr3的值。

3. CONCAT()

CONCAT(str1,str2,…)

返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。

mysql 批量查询插入,MySQL批量插入查询出来的数据相关推荐

  1. mysql jdbc驱动 批量更新_jdbc-批量插入、批量删除、批量更新

    一.JDBC的批量插入 JDBC批量插入主要用于数据导入和日志记录因为日志一般都是先写在文件下的等. 我用Mysql5.1.5的JDBC driver 分别对三种比较常用的方法做了测试 方法一,使用P ...

  2. MySQL 8——学习笔记03(插入、更新、删除 数据 [DML语句]、查询数据 [DQL语句])

    MySQL 8--学习笔记03(插入.更新.删除 数据 [DML语句]) 一.插入数据 1.1 插入所有字段.插入部分字段 1.2 同时插入多条记录(批量插入) 1.3 将查询结果插入到表中 二.更新 ...

  3. c mysql 批量插入_c#之mysql四种带事务批量插入

    前言 对于像我这样的业务程序员开发一些表单内容是家常便饭的事情,说道表单 我们都避免不了多行内容的提交,多行内容保存,自然要用到数据库,如果循环打扰我数据库,数据库也会觉得很累,从而增加数据库服务器压 ...

  4. mysql中sql批量插入_MySQL批量SQL插入性能优化

    对于一些数据量较大的系统,数据库面临的问题除了查询效率低下,还有就是数据入库时间长. 特别像报表系统,每天花费在数据导入上的时间可能会长达几个小时或十几个小时之久.因此,优化数据库插入性能是很有意义的 ...

  5. php怎么查询数据库密码,如何验证php中的密码是通过mysql查询手动散列插入到数据库中的?...

    有没有办法通过自己的散列方法插入mysql数据库的php验证密码? 例如,如果我手动在表中插入用户数据,请假设用户表,如下所示: INSERT INTO users (email, pswd) VAL ...

  6. oracle mysql 常用语句(查询表中某字段有几种类型,及每种类型有多少个数、插入多行、查询前几行)

    亲测有效 1.(1)查询表中某字段有几种类型,及每种类型有多少个数 select DISTINCT name user_name,count(*) num from patient GROUP BY ...

  7. java插入数据库字符串拼接_java连接mysql数据库实现单条插入和批量插入

    本文实例为大家分享了java连接mysql数据库实现单条和批量插入的具体代码,供大家参考,具体内容如下 本文插入数据库的数据来源:java + dom4j.jar提取xml文档内容 1.连接数据库 p ...

  8. Mybatis与JDBC批量插入MySQL数据库性能测试及解决方案

    Mybatis与JDBC批量插入MySQL数据库性能测试及解决方案 参考文章: (1)Mybatis与JDBC批量插入MySQL数据库性能测试及解决方案 (2)https://www.cnblogs. ...

  9. 如何快速插入大量/批量随机数据到数据库(oracle/sqlserver/mysql/postgresql)

    在日常的数据库开发和测试中,需要创建一些测试的表,并构造一下假的数据.这时就需要向表中插入随机数据,特别是插入大量随机数据以获取更好的验证.笔者在开发和应用中,也遇到了很多类似的问题,对于不同的数据库 ...

  10. 1亿条数据批量插入 MySQL,哪种方式最快?

    这几天研究mysql优化中查询效率时,发现测试的数据太少(10万级别),利用 EXPLAIN 比较不同的 SQL 语句,不能够得到比较有效的测评数据,大多模棱两可,不敢通过这些数据下定论. 所以通过随 ...

最新文章

  1. java为什么打不开jar_带你上手阿里开源的 Java 诊断利器:Arthas
  2. webstorm前端常用快捷键
  3. 使用to like动词_17
  4. 【linux】linux shell if 多条件 并行 字符串判断
  5. 泰安机器人比赛_泰安学子在省青少年机器人竞赛上揽8个一等奖
  6. Java/JSP中调用SQL Server存储过程完整示例收藏
  7. python同时赋值_python同时给多个变量赋值
  8. 信号量有没有容量限制?
  9. 烹佛烹祖大炉鞴,锻凡锻圣恶钳锤
  10. linux 源码安装httped,Linux下用Intel编译器编译安装NetCDF-Fortan库(4.2版本后)
  11. 免校准的电量计量芯片_应物联网而生:合力为HLW8012系列免校准电能计量芯片-测试测量-与非网...
  12. 两台(或多台)电脑怎么实现文件共享
  13. Python画樱花树~
  14. 【一些好听的英文歌曲】
  15. 记录一次Win10莫名其妙被植入一个恶意软件
  16. c语言编写数据存储的游戏,c语言经典小程序和c语言编写的小游戏带注释(自动保存的).doc...
  17. Hangfire 基本使用
  18. 我大抵是病了,横竖都睡不着。
  19. Pytorch使用笔记
  20. mongodb.cfg

热门文章

  1. 贼心不死安cuda记录-双显卡笔记本Ubuntu安装cuda9.0
  2. 南京大学2020计算机考研分数线,2020南京大学考研复试分数线已公布
  3. 用计算机代码怎么表白,程序员如何用代码向喜欢的人表白?
  4. 小米有品官网:纯HTML+CSS代码
  5. php opendir 不能用,PHP opendir() 函数
  6. JS基础知识大总结史上最全(已完结~)
  7. 对线性系统用matlab进行仿真,基于线性系统稳定性分析及MATLAB仿真与应用[1]
  8. 小米开发版安装magisk_小米6x-从零开始安装magisk
  9. qt在linux中安装目录,详解QT安装全过程
  10. mac 学习 java_Mac 新手从零学习JAVA 环境配置篇