АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP или фреймворки. Сегодня последний день для записи! Жми!
⊗pyPmDBSQ 102 of 129 menu
Долгожданный Бесплатный курс по выкладке сайта на хостинг. МЫ УЖЕ НАЧАЛИ! Присоединяйтесь к нам!

Отправка запросов к базе данных в Python

После соединения с базой к ней можно отправлять запросы. Это делается с помощью переменной query, в которой прописывается SQL запрос для вывода всех данных из таблицы users. Эту переменную следует прописать в блоке с переменной connection:

try: with connect( host='localhost', user='root', password='', database='test', ) as connection: query = "SELECT * FROM users" except Error as e: print(e)

Далее прописываем еще одну конструкцию with для работы с MySQLConnection-объектом, хранящимся в переменной connection. К данному объекту нужно последовательно применить специальные методы. Первым из них является метод cursor, который из MySQLConnection-объекта создает CMySQLCursor-объект. К нему свою очередь применяется метод execute, который обеспечивает выполнение SQL запроса, переданного ему в параметр:

try: with connect( ... ) as connection: query = "SELECT * FROM users" with connection.cursor() as cursor: cursor.execute(query)

Далее нужно извлечь все данные с помощью метода fetchall и записать их в переменную result. А чтобы вывести полученные данные, нужно пропустить их через цикл for:

try: with connect( ... ) as connection: query = "SELECT * FROM users" with connection.cursor() as cursor: cursor.execute(query) result = cursor.fetchall() for row in result: print(row)

Полный код будет выглядеть вот так:

try: with connect( host='localhost', user='root', password='', database='test', ) as connection: query = "SELECT * FROM users" with connection.cursor() as cursor: print(cursor) cursor.execute(query) result = cursor.fetchall() for row in result: print(row) except Error as e: print(e)

После выполнения кода в консоль выведутся все записи в виде кортежей:

(1, 'user1', 23, 400) (2, 'user2', 25, 500) (3, 'user3', 23, 500) (4, 'user4', 30, 900) (5, 'user5', 27, 500) (6, 'user6', 28, 900)

Выведите все данные из таблицы users.

enru