Задать вопрос
@sfgh

Как вывести полученные данные из таблицы sql?

Здравствуйте, есть база данных с учениками, их индексом и их оценками. мне нужно вывести в терминал имена тех учеников, у кого оценка стоит "4". Я знаю, как получить эти данные, но не знаю, как их вывести.

import sqlite3 

with sqlite3.connect(r'D:\Programming\Python\base.db') as db:
    cursor = db.cursor()
    #request = """ CREATE TABLE IF NOT EXISTS marks (Id INTEGER, name TEXT, mark INTEGER) """
    #request = """ INSERT INTO marks (Id, name, mark) VALUES (1, 'Adam', 5) """
    #request = """ INSERT INTO marks (Id, name, mark) VALUES (2, 'Jack', 4) """
    #request = """ INSERT INTO marks (Id, name, mark) VALUES (3, 'Eva', 5) """
    #request = """ INSERT INTO marks (Id, name, mark) VALUES (4, 'John', 4) """
    request = """ SELECT name FROM marks WHERE mark = 5 """
    db.execute(request)
  • Вопрос задан
  • 106 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Правильно будет:
import sqlite3 

with sqlite3.connect(r'D:\Programming\Python\base.db') as db:
    cursor = db.cursor()
    request = """ SELECT name FROM marks WHERE mark = 4 """  # выбираем один столбец
    cursor.execute(request)  # выполняем запрос на курсоре - зря, что ли, мы его создали?
    # теперь у нас курсор содержит строки выдачи - ответ на запрос
    for row in cursor:  # row - это кортеж, где элементы идут в том же порядке, что и столбцы
        name = row[0]  # у нас один элемент - столбец name. Добываем его.
        print(name)  # а дальше делаем с этим элементом что захотим
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Stariyded
Сетевой админ
Создайте переменную, которая будет равна db.execute(request) и выводите ее как захочется, хоть на экран, хоть в файл
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы