Я создаю простую программу на python и хочу создать переменные, хранящие значения из каждого из столбцов базы данных моих студентов.Я узнал, что мне нужно выполнять запрос каждый раз, когда я хотел назначить новую переменную.Есть ли способ создать эти переменные, не выполняя один и тот же запрос несколько раз?
import pymysql
conn = pymysql.connect(host='localhost',
cursorclass=pymysql.cursors.DictCursor,
user='root',password='***')
conn.autocommit(True)
cur = conn.cursor()
students = [[1,'Hubert',4.0],
[2,'Macia',3.2],
[3,'Pontas',3.5],
[4,'Bartek',4.0],
[5,'Dundersztyc',2.1],
[6,'Diabel',2.7],
[7,'Kondzias',3.1],
[8,'Krapol',3.4],
[9,'Any',2.8],
[10,'Jacenty',2.5]]
try:
use = 'USE students'
cur.execute(use)
for identi,name,gpa in students:
query1 = 'INSERT INTO students (id,st_names,gpa) VALUES
(%s,%s,%s)'
cur.execute(query1,(identi,name,gpa))
query = 'SELECT * FROM students'
cur.execute(query)
ids = [ide['id'] for ide in cur]
cur.execute(query)
names = [name['st_names'] for name in cur]
cur.execute(query)
gpas = [gpa['GPA'] for gpa in cur]
finally:
conn.close()
Когда я печатал идентификаторы, имена, gpas, когда я выполнял запрос только один раз, когда я получил первый список идентификаторов.Имена и gpas были пусты.