这段图理解怎么理解?

这段图理解怎么理解?

老师,您好:

我想问一下,下面这个图片,怎么理解?特别是最后的sql+=是怎么一回事?那个sql是哪的?是insert那一段的吗?

这一段的代码不是很理解。http://img1.sycdn.imooc.com//climg/5e98184c09e012ff08830231.jpg

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好:

这段代码是为了动态生成SQL语句,因为我们不能确定temp中的结果有多少个,所以无法用%s进行替换,而只能使用字符串拼接的方式。最后生成的SQL语句如下:

http://img1.sycdn.imooc.com//climg/5e981d7d09b862f106350136.jpg

sql原本等于下图第31行所示字符。再对temp进行遍历,如果不是最后一个元素则拼接该元素和逗号;如果是最后一个元素,则只拼接该元素,不拼接逗号。最后拼接反括号,完成上图SQL语句的拼接。

http://img1.sycdn.imooc.com//climg/5e981f8d09e697e006680185.jpg

如果解决了你的疑惑,请采纳,祝学习愉快~ 


  • 为学习而奋斗 提问者 #1
    也就是说相当于是把'INSERT INTO t_emp_new SELECT * FROM t_emp WHERE deptno IN(' 和后半部分的')'进行拼接的意思吧? 中间使用+=进行拼接字符串是吧?
    2020-04-16 17:12:10
  • 为学习而奋斗 提问者 #2
    真是惭愧,基础知识的字符串拼接都给差点给忘了,亏自己还复习了两遍,不过老师这么一说,还是想起来了
    2020-04-16 17:14:13
  • 为学习而奋斗 提问者 #3
    INSERT INTO t_emp_new SELECT * FROM t_emp WHERE deptno IN(20,10),不过这一句就不理解了,为什么在插入语句的时候,不应该后面加上values嘛?怎么这里就直接加上后面的查询语句,没有使用括号,然后也没有values?为什么? 不太理解这一句的意思.....
    2020-04-16 17:27:59
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师