MySQL是一种关系型数据库管理系统,它使用结构化查询语言(SQL)进行数据操作。在SQL语句中,字符串常量通常使用单引号(')来表示。
在MySQL中,单引号主要用于以下几种情况:
'Hello, World!'
。'2023-04-01'
。单引号在编写SQL查询时非常常见,例如:
SELECT * FROM users WHERE last_name = 'Smith';
当你在SQL查询中使用单引号时,可能会遇到以下问题:
SELECT * FROM users WHERE last_name = 'Smith';
如果忘记闭合单引号,就会变成 SELECT * FROM users WHERE last_name = 'Smith;
,这会导致查询失败。SELECT * FROM users WHERE username = '" + userInput + "';
如果 userInput
是 admin' --
,那么实际执行的SQL会变成 SELECT * FROM users WHERE username = 'admin' --';
,注释掉后面的内容,导致所有用户都被检索出来。import mysql.connector
db = mysql.connector.connect(host="localhost", user="user", password="password", database="mydatabase")
cursor = db.cursor()
query = "SELECT * FROM users WHERE last_name = %s"
last_name = "Smith"
cursor.execute(query, (last_name,))
results = cursor.fetchall()
for row in results:
print(row)
领取专属 10元无门槛券
手把手带您无忧上云