Vaicājumu sūtīšana uz datu bāzi Python
Pēc savienojuma ar datu bāzi tai var
sūtīt vaicājumus. Tas tiek darīts ar
mainīgā query palīdzību, kurā
tiek norādīts SQL vaicājums visu datu
izvadei no tabulas users. Šo
mainīgo vajadzētu norādīt blokā ar
mainīgo connection:
try:
with connect(
host='localhost',
user='root',
password='',
database='test',
) as connection:
query = "SELECT * FROM users"
except Error as e:
print(e)
Tālāk mēs norādām vēl vienu konstrukciju with
darbam ar MySQLConnection-objektu,
glabātu mainīgajā connection.
Uz šo objektu jāpiemēro speciālās metodes
secīgi. Pirmā no tām ir metode cursor, kas
no MySQLConnection-objekta izveido
CMySQLCursor-objektu. Tam savukārt
tiek piemērota metode execute, kas
nodrošina SQL vaicājuma izpildi,
kas tam tiek nodots parametrā:
try:
with connect(
...
) as connection:
query = "SELECT * FROM users"
with connection.cursor() as cursor:
cursor.execute(query)
Tālāk nepieciešams iegūt visus datus ar
metodes fetchall palīdzību un ierakstīt tos
mainīgajā result. Un lai izvadītu
iegūtos datus, tie jāizlaiž
caur ciklu 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)
Pilns kods izskatīsies šādi:
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)
Pēc koda izpildes konsolē tiks izvadīti visi ieraksti kortežu veidā:
(1, 'user1', 23, 400)
(2, 'user2', 25, 500)
(3, 'user3', 23, 500)
(4, 'user4', 30, 900)
(5, 'user5', 27, 500)
(6, 'user6', 28, 900)
Izvadiet visus datus no tabulas users.