如何存储来自SQL查询的结果并使用它?

如何存储来自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

+0

@py_noob我使用的MySQL,我想看看类型是小于或等于值5 – Eli

这是一个完整的脚本,将查询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已更新,请使用上述内容 –