python - %s 占位符代表什么?
问题描述
我正在学习使用 MySQL 连接器/Python。在大多数教程中,我看到他们使用%s
placeholder insideVALUES
子句在表中插入数据。然后,在下一行,这些值存储在一个元组中。然后,他们execute
命令。
sql = "INSERT INTO table (col1, col2) VALUES (%s, %s)"
val = ("Foo", "Bar")
cursor.execute(sql, val)
那么这是什么%s
意思呢?它与C中使用的相同吗?我看到人们在C中使用它。我只是好奇。请务必提供任何参考链接,如果有的话。谢谢。
解决方案
它告诉字符串该值将被转换为字符串并替换该位置的占位符。
但是连接器也支持准备好的语句。
cursor = connection.cursor(prepared=True)
sql_insert_query = """ INSERT INTO customers (name, address) VALUES (%s, %s)"""
insert_tuple_1 = ("Json", "BAker street")
insert_tuple_2 = ("Emma", "Avenue des Champs-Élysées")
cursor.execute(sql_insert_query, insert_tuple_1)
cursor.execute(sql_insert_query, insert_tuple_2)
connection.commit()
推荐阅读
- python - 将整数的隐蔽列表转换为字符串
- node.js - 无法在 Npm install 上读取 null 的属性“发射”
- javascript - 使用 d3 分层将平面数据转换为层次结构数据
- windows - 滚动条在 Windows 应用程序中不可见
- c++ - 源 direct3D9 纹理不显示
- c++ - 调用fork系统调用后如何确保父块先执行后子进程
- reporting-services - 根据 SSRS 中今天的工作日返回日期
- typescript - 打字稿`in`运算符类型保护缩小仅作为文字
- django - Django:AttributeError:'int'对象没有属性'cafe_name'
- matlab - 将大txt文件导入matlab而不剪切它