Извличането на данни от база данни е основен компонент в приложението на Python в софтуерната разработка. Днес ще се фокусираме върху SELECT израза, който ти позволява да извличаш данни от база данни MySQL ефективно. В това ръководство ще научиш как да прочетеш запис от таблицата 'books' с прост SELECT израз.
Най-важни изводи
Ще научиш как да извлечеш данни с помощта на метод, който използва обекти курсор и колко важно е да затваряш връзката с базата данни.
Стъпка по стъпка ръководство
За да прочетеш всички записи от база данни MySQL, ще създадеш метода getbooks. В този процес ще се запознаеш с курсорите и ще изпълниш SELECT израз.
Първо, трябва да се увериш, че имаш обект за връзка, който държи връзката с базата данни. За целта ще получиш достъп до self.connection, което е дефинирано в твоя клас.

След това ще ти е необходим курсор, за да изпълняваш SQL изрази. Чрез повикване на self.connection.cursor() получаваш този обект курсор.

С курсора можеш да изпълниш своя SELECT израз. Напиши cursor.execute('SELECT * FROM books') и с това изразът ще бъде изпратен към базата данни. Звездичката (*) представлява всички колони в таблицата „books”.

След като изразът е изпълнен, трябва да извлечеш резултатите. Това правиш с cursor.fetchall(), което връща всички записи.

Сега можеш да върнеш извлечения запис, като напишеш return cursor.fetchall().
Въпреки това, важно е да затвориш курсора и връзката след запитването, за да освободиш ресурси. Това става с cursor.close() и self.connection.close(). И двете трябва да бъдат извикани в края на твоят метод.

За да изведеш данните, можеш да извикаш метода getbooks и да преминеш през върнатите данни в цикъл. Например можеш да използваш for book in getbooks(): print(book), за да покажеш всички книги на екрана.

Записите ще се изведат като кортежи. Това е често срещана практика в Python, която лесно може да бъде преобразувана в списъци, ако е необходимо. Можеш също така да получаваш достъп до конкретни колони директно чрез индексите на кортежите или да ги обработваш допълнително.

Ако си разбрал принципа в общи линии, можеш да разшириш приложението си, за да добавяш нови записи чрез INSERT изрази, което ще бъде разгледано в следващото ръководство.
Резюме – Четене на данни от MySQL с Python – Стъпка по стъпка
В това ръководство научи как да пишеш ефективни SQL изрази в Python, как да извличаш данни с помощта на курсори и как да затваряш правилно връзката с базата данни. Тези стъпки са основата за много други приложения и модификации.
Често задавани въпроси
Как да извлека данни от базата данни?Можеш да извлечеш данни, като изпълниш SELECT израз в метода си и след това извлечеш резултатите с cursor.fetchall().
Защо е важно да затворя връзката с базата данни?Затварянето на връзката предотвратява ненужно заетие на ресурси и помага да се избегне загуба на данни или проблеми с базата данни.
Мога ли да запитам само определени колони?Да, вместо SELECT * можеш да зададеш конкретни колони, например SELECT title, author FROM books.