[[:oktatas:programozás:python:adatbázis|< Adatbázis]]
====== Python MySQL ======
* **Szerző:** Sallai András
* Copyright (c) 2020, Sallai András
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]]
* Web: https://szit.hu
===== A MySQL elérése Python nyelven =====
===== Telepítés =====
pip3 install --user mysql-connector
===== Kapcsolódás =====
import mysql.connector
conn = mysql.connector.connect(
host="localhost",
user="penztar",
passwd="titok"
)
print(conn)
Vagy:
import mysql.connector
config = {
'host': 'localhost',
'user': 'feherbt',
'passwd':'titok'
}
conn = mysql.connector.connect(**config, database='feherbt')
print(conn)
A kimenet ehhez hasonló kell legyen:
===== Adatbázis létrehozása =====
import mysql.connector
conn = mysql.connector.connect(
host="localhost",
user="penztar",
passwd="titok"
)
cur = conn.cursor()
cur.execute('create database penztar')
===== Lekérdezés =====
import mysql.connector
conn = mysql.connector.connect(
host="localhost",
user="feherbt",
passwd="titok",
database='feherbt'
)
cur = conn.cursor()
sql = 'select * from employees'
cur.execute(sql)
conn.close()
print(cur.fetchall())
===== Lekérdezés mezőnként =====
import mysql.connector
conn = mysql.connector.connect(
host="localhost",
user="feherbt",
passwd="titok",
database='feherbt'
)
cur = conn.cursor()
sql = 'select * from employees'
cur.execute(sql)
conn.close()
for (id, name, city, salary) in cur:
print(f"{id}:{name}:{city}:{salary}")
===== Beszúrás =====
import mysql.connector
config = {
'host': 'localhost',
'user': 'feherbt',
'passwd':'titok'
}
conn = mysql.connector.connect(**config, database='feherbt')
cur = conn.cursor()
sql = """
insert into employees
(name, city, salary)
values
('Tekerős Ferenc', 'Hatvan', 2877000)
"""
cur.execute(sql)
conn.commit()
conn.close()
print('Utoljára beszúrt: ', cur.lastrowid)
print('Érintett rekordok száma: ', cur.rowcount)
===== Előkészített beszúrás =====
import mysql.connector
config = {
'host': 'localhost',
'user': 'feherbt',
'passwd':'titok'
}
conn = mysql.connector.connect(**config, database='feherbt')
cur = conn.cursor()
sql = """
insert into employees
(name, city, salary)
values
(%s, %s, %s)
"""
values = ("Perec Dénes", "Szeged", 2800400)
cur.execute(sql, values)
conn.commit()
conn.close()
print('Utoljára beszúrt: ', cur.lastrowid)
print('Érintett rekordok száma: ', cur.rowcount)
===== Több rekord beszúrása =====
import mysql.connector
config = {
'host': 'localhost',
'user': 'feherbt',
'passwd':'titok'
}
conn = mysql.connector.connect(**config, database='feherbt')
cur = conn.cursor()
sql = """
insert into employees
(name, city, salary)
values
(%s, %s, %s)
"""
values = [
("Filip Dezső", "Szeged", 3500000),
("Andri Árpád", "Szeged", 3500000),
("Csikos Lóránt", "Szeged", 3500000),
]
cur.executemany(sql, values)
conn.commit()
conn.close()
print('Három közül az elsőként beszúrt: ', cur.lastrowid)
print('Érintett rekordok száma: ', cur.rowcount)