mysql 批量查询插入,MySQL批量插入查询出来的数据

mysql 批量查询插入,MySQL批量插入查询出来的数据timg.jpg先看SQL:INSERTINTO`movie_detail_tab`(VIDEO_ID,PLAY_URL)SELECTb.IDASVIDEO_ID,x.playurlASPLAY_URLFROM(SELECTa.playurl,CONCAT(a.`卡通名`,a.`第几集`)AS’videoCname’FROM(SELECTplayurl,SUBSTRING_I…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

36771159b386

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。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/185602.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月5日 下午6:00
下一篇 2022年10月5日 下午6:00


相关推荐

  • jwplayer的使用

    jwplayer的使用导入 jsLoadingthe player 所在 div 具体配置参数 jwplayer container setup 通过 js 调用播放器并安装到指定容器 container 内 flashplayer jwplayer player swf 调用播放器 file video flv 调用视频文件 width 328 播放器宽 h

    2026年3月26日
    2
  • ANSYS中BEAM188单元的使用

    ANSYS中BEAM188单元的使用悬臂梁仅受到向下的重力作用 计算该梁在自重作用下的变形 弹性模量为 2 1×10 11Pa 泊松比为 0 3 梁长 2 米 重力加速度为 9 8m s 2 密度为 7800kg m 3 梁的截面形状如图所示 要求 选用 BEAM188 单元 该梁整个划分 20 个单元 ElementTypeA Edit DeleteAddBea 2 1e11 PRXY 0 3Mate

    2026年3月20日
    1
  • oracle数据库怎么创建连接_eclipse连接数据库代码

    oracle数据库怎么创建连接_eclipse连接数据库代码应用场景:目标数据分散在多个实例下的时候,需要把这些需要的数据整合到同一个数据库下,需要创建数据库连接。用语句创建参考文章:https://blog.csdn.net/hongweibing1/article/details/50623669但是报错:“口令缺失或无效”,选择手动创建。1、找到DatabaseLinks,右键选择“新建”2、进入“创建数据库连接”窗口,勾选“公共”,填写“数据库连接-名称”、“连接到-用户名”、“连接到-口令”、“连接到-数据库”。3、点击左下方的“应用”即

    2026年2月17日
    5
  • 第二章:activiti工作流连接数据库,和eclipse安装activiti插件

    第二章:activiti工作流连接数据库,和eclipse安装activiti插件第二章:activiti工作流连接数据库,和eclipse安装activiti插件

    2022年4月23日
    56
  • 我的世界手机版虚拟人生服务器,我的世界虚拟人生mod攻略 虚拟人生mod怎么玩…

    我的世界手机版虚拟人生服务器,我的世界虚拟人生mod攻略 虚拟人生mod怎么玩…相信最近好多小伙伴都接触了虚拟人生这个模组 但是由于刚玩这个模组 不少的小伙伴都不知道这个模组怎么玩 下面小编就来告诉大家 想知道的玩家一定要看下面的内容 开局得到一个水晶球 水晶球可以选择自出生的地方 可以选择自己 也可以选择一个村庄 可以选择拥有一个家庭 可以选择单身 还可以选择性别 性别是取决于你孩子叫你叫爸爸或者妈妈的 村民要在模组特制的床才可以睡觉 如果单身的话 开始可以与村民互动 互动

    2026年3月16日
    2
  • opencv-python中 boundingRect(cnt)以及cv2.rectangle用法「建议收藏」

    转自http://blog.csdn.net/zhangxb35/article/details/47275277矩形边框(BoundingRectangle)是说,用一个最小的矩形,把找到的形状包起来。还有一个带旋转的矩形,面积会更小,效果见下图上代码首先介绍下cv2.boundingRect(img)这个函数这个函数很简单,img是一个二值图,也就是它的参数;

    2022年4月14日
    171

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号