Как можно вывести имена учеников с оценкой "4" из базы данных с использованием SQL и Python?
Чтобы отобразить результаты запроса к базе данных SQL в виде таблицы, можно использовать библиотеку pandas в Python. Для этого необходимо выполнить запрос к базе данных и сохранить результат в переменную, затем создать DataFrame с помощью pandas и вывести его на экран. Пример: ```python import pandas as pd import sqlite3 # Устанавливаем подключение к базе данных conn = sqlite3.connect('database.db') # Выполняем запрос к базе данных query = "SELECT * FROM students" results = pd.read_sql_query(query, conn) # Отображаем результаты в виде таблицы print(results) # Закрываем соединение с базой данных conn.close() ``` Чтобы вывести имена учеников с оценкой "4" из базы данных с использованием SQL и Python, можно использовать следующий код: ```python import sqlite3 # Устанавливаем подключение к базе данных conn = sqlite3.connect('database.db') # Выполняем запрос к базе данных query = "SELECT name FROM students WHERE grade = 4" cursor = conn.cursor() cursor.execute(query) # Получаем результаты запроса results = cursor.fetchall() # Выводим имена учеников с оценкой "4" for result in results: print(result[0]) # Закрываем соединение с базой данных conn.close() ```
Создайте переменную, которая будет равна db.execute(request) и выводите ее как захочется, хоть на экран, хоть в файл
Правильно будет:
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) # а дальше делаем с этим элементом что захотим