python拼接sql语句

这篇博客介绍了如何使用Python来拼接和生成SQL语句,适用于自动化创建简单SQL的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python拼接生成sql语句

小工具,适用自动生成简单sql的场景

def where_condition(whereInfo:dict):
    '''
    拼接where条件
    @whereInfo where条件
    '''
    sql = ""
    whereConditionList = whereInfo.keys()
    if(len(whereConditionList)>0):
        sql = " where"
        for column in whereConditionList:
            sql += " "+column+"=\""+whereInfo[column]+"\""
            sql += " and"
        sql=sql[:-3]
    return sql


def gen_insert_sql(tableName, columnInfo:dict):
    '''
    生成insert的sql语句
    @tableName,插入记录的表名
    @columnInfo,插入的数据,字典
    '''
    #字段列表
    sequnceList = columnInfo.keys()
    sql = 'insert into %s (' % tableName
    for column in sequnceList:
        sql += "'"+column+"',"
    sql = sql[:-1]
    sql += ") values ("
    for column in sequnceList:
        sql += "\""+columnInfo[column]+"\","
    sql = sql[:-1]+");"
    return sql

def gen_update_sql(tableName,updateInfo:dict,whereInfo:dict):
    '''
    生成update的sql语句
    @updateInfo,更新的记录信息
    @whereInfo,条件信息
    '''
    sequnceList = updateInfo.keys()
    sql="update %s set " % tableName
    for column in sequnceList:
        sql+=column+"=\""+str(updateInfo[column])+"\","
    sql = sql[:-1]
    sql += where_condition(whereInfo)
    sql += ";"
    return sql

#生成查询sql
def gen_single_select_sql(tableName,columnList:list,whereInfo:dict):
    '''
    生成select的sql语句
    @tableName 查询的表名
    @columnList 查询的列名集合
    @whereInfo,条件信息
    '''
    sql="select "
    if(len(columnList)>0):
        sql += ','.join(str(column) for column in columnList)
    else:
        sql += "*"
    sql += " from %s " % tableName
    sql += where_condition(whereInfo)
    sql += ";"
    return sql

def gen_delete_sql(tableName,whereInfo:dict):
    '''
    生成select的sql语句
    @tableName 查询的表名
    @columnList 查询的列名集合
    @whereInfo,条件信息
    '''
    sql = "delete %s " % tableName
    sql += where_condition(whereInfo)
    sql += ";"
    return sql


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值