%s 占位符代表什么?
What does the %s placeholder stand for?
我正在学习使用 MySQL Connector/Python。在大多数教程中,我看到他们在 VALUES
子句中使用 %s
占位符在 table 中插入数据。然后,在下一行中,这些值存储在一个元组中。然后,他们 execute
命令。
sql = "INSERT INTO table (col1, col2) VALUES (%s, %s)"
val = ("Foo", "Bar")
cursor.execute(sql, val)
那么这个%s
是什么意思呢?和C中用的一样吗?我看到有人在 C 中使用它。我只是好奇。请提供任何参考 link,如果有的话。谢谢。
它告诉字符串该值将被转换为字符串并替换该位置的占位符。
但是连接器也支持准备好的语句。
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()
我正在学习使用 MySQL Connector/Python。在大多数教程中,我看到他们在 VALUES
子句中使用 %s
占位符在 table 中插入数据。然后,在下一行中,这些值存储在一个元组中。然后,他们 execute
命令。
sql = "INSERT INTO table (col1, col2) VALUES (%s, %s)"
val = ("Foo", "Bar")
cursor.execute(sql, val)
那么这个%s
是什么意思呢?和C中用的一样吗?我看到有人在 C 中使用它。我只是好奇。请提供任何参考 link,如果有的话。谢谢。
它告诉字符串该值将被转换为字符串并替换该位置的占位符。
但是连接器也支持准备好的语句。
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()