使用pymysql的cursor对象如何使用字典、列表、元组进行传值?

先解释一下 传值的由来根据,当然是源码喽

    # 下面是 cursor.execute()的源码 重要的是对参数 的说明
    '''
        If args is a list or tuple, %s can be used as a placeholder in the query.
        If args is a dict, %(name)s can be used as a placeholder in the query.

    '''


    def execute(self, query, args=None):
        """Execute a query.

        :param query: Query to execute.
        :type query: str

        :param args: Parameters used with query. (optional)
        :type args: tuple, list or dict

        :return: Number of affected rows.
        :rtype: int

        If args is a list or tuple, %s can be used as a placeholder in the query.
        If args is a dict, %(name)s can be used as a placeholder in the query.
        """

下面是举例说明

当使用字典、列表和元组等不同的数据类型向cursor.execute()方法传递值时,可以通过占位符 %s 来表示参数的位置,并将具体的值作为第二个参数传递给cursor.execute()方法。以下是具体的示例:

使用字典传递参数:

params_dict = {'name': 'John', 'age': 25}
query = "SELECT * FROM users WHERE name = %(name)s AND age = %(age)s"
cursor.execute(query, params_dict)

使用列表传递参数:

params_list = ['John', 25]
query = "SELECT * FROM users WHERE name = %s AND age = %s"
cursor.execute(query, params_list)

使用元组传递参数:

params_tuple = ('John', 25)
query = "SELECT * FROM users WHERE name = %s AND age = %s"
cursor.execute(query, params_tuple)

        在这些示例中,%(name)s%s 是占位符,表示参数的位置。在执行cursor.execute()方法时,第一个参数是查询语句,第二个参数是具体的参数值。

        使用字典传递参数时,可以通过键名来引用参数值,而使用列表和元组传递参数时,参数值的顺序需要与占位符的顺序一致。

        注意:在执行查询时,如果查询语句中有多个占位符,需要提供与占位符数量相等的参数值。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值