我是靠谱客的博主 清秀招牌,最近开发中收集的这篇文章主要介绍Python mysql操作 执行sql语句插入\查询等,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

啊直接上代码了。

这个代码我用来做jenkins的构建记录的查询和写入的(在成功构建后,命令行执行的形式,执行该代码)

(需要项目源码加v:ct-xiaozhou;非机构,行业变迁,多个好友多点可能性)


import datetime

import sys

import pymysql

class TestMysqlDB:

    test_host ='10.255.**.**'

    test_port =3306

    test_user ='root'

    test_password ='123456'

    test_db ='test_work'

    def __init__(self, db=None):

self.conn = pymysql.connect(host=self.test_host,

                                    port=self.test_port,

                                    user=self.test_user,

                                    password=self.test_password,

                                    db=self.test_db,

                                    charset='utf8'

                                    )

# 使用cursor()方法获取操作游标

        self.cursor =self.conn.cursor()

def getData(self, sqlstr):

# 返回一条数据

        self.cursor.execute(sqlstr)

return self.cursor.fetchall()

def close(self):

self.cursor.close()

self.conn.close()

def insterJenkins_build_info(self, datalist:list):

# datalist值:1.服务名称;2.git信息,3.dockertag;4.压缩文件名;5.构建信息;6.构建人;

        thTime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')

# 构建完成时间

        sql =f"""INSERT INTO jenkins_build_info (servicename,gitinfo,dockertag,tarfilename,buildmsg,builduser,env,buildtime,updatetime) VALUES

                ('{datalist[0]}','{datalist[1]}','{datalist[2]}','{datalist[3]}','{datalist[4]}','{datalist[5]}','{datalist[6]}','{thTime}','{thTime}');"""

        try:

# 执行sql语句

            self.cursor.execute(sql)

# 提交到数据库执行

            self.conn.commit()

except Exception as e:

print(f'{e}')

self.conn.rollback()

# 关闭数据库连接

        self.close()

def dateToStr(thTuple):

temstr =''

    for datain thTuple:

temstr =f"{temstr}{str(data[0]).split(':')[1]}n"

    return temstr

if '__main__' == __name__:

"""

    命令行执行,第一个参数是文件本身,第二个参数也就是sys.argv[1]定义为数据库操作类型,第三个参数是具体操作的值"""

    if "newBuildIn" == sys.argv[1]:

# 1.服务名称|2.git信息|3.dockertag|4.压缩文件名|5.构建信息|6.构建人|7.环境

        datalist = sys.argv[2].split('|')

TestMysqlDB().insterJenkins_build_info(datalist)

elif "getHistoryTag" == sys.argv[1]:

# 第一个参数是类型,第二个参数是服务名称

        sqlstr =f"SELECT dockertag from jenkins_build_info jbi where servicename ='{sys.argv[2]}' and not(dockertag LIKE '历史版本%') order by updatetime DESC limit 10;"

        print(dateToStr(TestMysqlDB().getData(sqlstr)))

最后

以上就是清秀招牌为你收集整理的Python mysql操作 执行sql语句插入\查询等的全部内容,希望文章能够帮你解决Python mysql操作 执行sql语句插入\查询等所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部