这两天又重新开始弄mysql,需要把一大堆数据传进去,数据是以日为单位,每天都有,现在手头上有16年的数据,打算每一年单独建立一张表格,不然太大,会影响搜索效率,我是这么想的。可是一开,一天的数据就要上千万条,有些担心一张表撑不撑的住。为了方便调用和记住,我把表名用数字代替,不然是在想不出来用什么好。。。但是这就碰到了一个问题,写好sql语句的时候用excute执行时,发现报错,字符串转换的时候出了问题,我看网上有把sql语句分开的,像这位老哥https://blog.csdn.net/wansbest/article/details/50478027,
cur.execute("INSERT INTO table_%s VALUES(%s, %s, %s, %s, %s”,(date,v1,v2,v3,v4))
把sql语句分开写,
cur.execute("INSERT INTO table_%s" % date + " VALUES(%s, %s, %s, %s, %s”,(v1,v2,v3,v4))
应该是没错,但是excutemany这种方法就不适用了吧,于是我在mysql workbench中用select看官方怎么写,在表名加上了单引号‘’
我在workbench中尝试了一下没问题,开心的就把代码改了,但是发现事情并不简单,哈哈哈。还是出错?怎么办呢?我看到了这篇文章https://www.polarxiong.com/archives/Python%E4%B8%AD%E4%BD%BF%E7%94%A8MySQL%E5%91%BD%E4%BB%A4%E6%97%B6-%E8%A1%A8%E5%90%8D%E6%88%96%E5%AD%97%E6%AE%B5%E5%90%8D%E4%B8%8D%E8%83%BD%E4%BB%A5%E6%95%B0%E5%AD%97%E5%BC%80%E5%A4%B4%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95.html
没错,把单引号改成``,我搜了一下叫返单引号,就是数字键1左边那个。发现超好用,excute和excutemany都可以使用,棒棒哒,还是推荐大家使用excutemany,速度超快
最后求关注,求点赞,欢迎大家关注我的公众号
记录所学所用,包括但不限于遥感、地信、气象、生态环境,机器学习知识,相关文献阅读,编程代码实现。偶尔荒腔走板的聊聊其他。欢迎不同领域的朋友们加入进来,多多交流。