【问题标题】:What does the %s placeholder stand for?%s 占位符代表什么?
【发布时间】:2020-11-22 11:22:19
【问题描述】:

我正在学习使用 MySQL 连接器/Python。在大多数教程中,我看到他们使用 VALUES 子句中的 %s 占位符在表中插入数据。然后,在下一行,这些值存储在一个元组中。然后,他们execute 命令。

sql = "INSERT INTO table (col1, col2) VALUES (%s, %s)"
val = ("Foo", "Bar")
cursor.execute(sql, val)

那么%s 是什么意思?和C中使用的一样吗?我看到人们在 C 中使用它。我只是好奇。请务必提供任何参考链接,如果有的话。谢谢。

【问题讨论】:

标签: python string-formatting mysql-connector-python


【解决方案1】:

它告诉字符串该值将被转换为字符串并替换该位置的占位符。

但连接器也支持预处理语句。

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()

【讨论】:

  • 谢谢! “s”代表“字符串”吗?
  • 是的,如答案converted to a string中所述
猜你喜欢
  • 1970-01-01
  • 2015-08-07
  • 1970-01-01
  • 1970-01-01
  • 2015-05-13
  • 1970-01-01
  • 2016-10-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多