• 如何用Python快速生成SQL语句?


    人生苦短,快学Python!

    大家好,今天分享一篇之前原创发在我另一个公众号的文章。作为一名搞数据的,写SQL是每天必不可少的工作。而我又是一个喜欢偷懒的人,就想着能不能使用Python快速生成SQL语句呢?

    假如现在想建一个临时表自己练习,我使用create table建表后,还需要使用多条INSERT INTO语句向表中插入数据,具体语法如下图所示。

    图片

    写入一行数据还好,但是如果N多行,手动就略微麻烦了。

    我之前要么在编辑器Sublime Text3里多行操作,要么在Excel文件中使用函数生成SQL插入语句

    图片

    ▲Sublime Text3

    如果想进一步偷懒,可以怎么做呢?

    我希望能够使用Python一键将csv文件中的数据转成SQL语句,并输出到剪贴板上,这样我们直接粘贴到SQL编辑器上就可以直接运行了!

    所要用到的表格数据(data_1.csv)如下所示:

    图片

    我们可以这样做,Pandas模块读取csv文件的数据后,使用for循环依次读取每一行的数据。并通过f-string格式化字符串,一键生成我们所需的SQL语句。

    import pandas as pd
    df = pd.read_csv("data_1.csv")
    tables = "mysql.newtable"
    text = ""
    for index, row in df.iterrows():
        text = f"{text}INSERT INTO {tables} VALUES('{row[0]}','{row[1]}','{row[2]}','{row[3]}','{row[4]}');\n"
    text
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在字符串中我们增加了"\n"用来换行,运行结果如下所示。

    图片

    那么如何将输出的结果写入剪贴板呢?

    import pyperclip
    pyperclip.copy(text)
    
    • 1
    • 2

    这个pyperclip模块贼简单,就两个函数:

    • copy()用于向剪贴板发送文本;
    • paste()用于从剪贴板接收文本。

    如果我们将两段代码一起运行,就会在鼠标的剪切板上出现SQL语句,具体效果如下所示。

    图片

    ▲运行动图GIF

    这样我只需运行该Python代码,再粘贴到SQL编辑器中。

    图片

    执行一下,成功插入数据。

    图片

    其实这种方法还可以应用在很多类似的场景,例如UPDATE语句、DELETE语句等等,思路都是一致的。

    好啦,偷懒小技巧加一~


    资源分享

    下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】

    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    opengl播放3d pose 原地舞蹈脚来回飘动
    leetcode0207 链表相交
    Shell(4)变量和赋值
    实践讲解Spring配置中心config(图+文,本地文件方式)
    ie8中js给数组排序
    挂件板死机刷固件
    Harmony装饰器
    Oracle Database Express Edition (XE)配置与部署
    stdmap 容器使用详细说明
    赢未来杂志赢未来杂志社赢未来编辑部2022年第7期目录
  • 原文地址:https://blog.csdn.net/wx17343624830/article/details/127614185