如何存储来自SQL查询的结果并使用它?
问题描述:
我想看看是否类型是字母“T”或数字1-6之间的具体数据输入名称和密码找到。如何存储来自SQL查询的结果并使用它?
sql = 'SELECT type FROM table name WHERE name = "{}" AND password = "{}"'.format(username, password)
,然后在psedocode我需要的东西,如:
if type =< 5:
int()
elif type = "T"
string()
我使用Python 2.7
答
这是一个完整的脚本,将查询MySQL数据库,并使用上述逻辑来打印值。我已经包含了python代码以及这个测试用例的示例数据库代码。如果您有任何问题,请告诉我。
的Python
import pymysql
connection = pymysql.connect(user='username', passwd='password',
host='localhost',
database='database')
cursor = connection.cursor()
NAME = 'Person_A'
PASSWORD = 'Password_A'
query = ("SELECT * FROM My_TABLE WHERE NAME = '%(1)s' AND PASSWORD = '%(2)s';" % {"1" : NAME, "2" : PASSWORD})
cursor.execute(query)
for item in cursor:
type = item[0]
if type.isdigit():
if int(type) <6:
print('Type is a number less than 6')
else:
print('Type is a number but not less than 6')
else:
if type == 'T':
print('Type is a string == T')
else:
print('Type is a string but not the letter T')
MYSQL
CREATE TABLE MY_TABLE (TYPE VARCHAR(255), NAME VARCHAR(255), PASSWORD VARCHAR(255));
INSERT INTO MY_TABLE VALUES ('T','Person_A','Password_A'),('4','Person_A','Password_A'),('7','Person_B','Password_B'),('t','Person_C','Password_C');
+0
不相当,我不能调用type ='T',因为它是SQL表的一部分,这就是为什么我要运行sql命令。 – Eli
+0
@Eli已更新,请使用上述内容 –
@py_noob我使用的MySQL,我想看看类型是小于或等于值5 – Eli