MySQL yra viena iš populiariausių reliacinių duomenų bazių. Tai leidžia saugoti duomenis lentelėse ir kurti ryšius tarp tų lentelių. Norėdami naudoti MySQL, kuris veikia kaip duomenų bazės serveris, turėsite parašyti kodą, kad galėtumėte prie jo prisijungti.
Dauguma programavimo kalbų, tokių kaip Python, palaiko tai. Tiesą sakant, „Python“ yra keletas metodų, kurių kiekvienas turi savo privalumų.
Paruoškite savo MySQL konfigūraciją
Norint prisijungti prie duomenų bazės, reikia šių reikšmių:
- Priegloba: „MySQL“ serverio vieta, „localhost“, jei naudojate jį tame pačiame kompiuteryje.
- Vartotojas: MySQL vartotojo vardas.
- Slaptažodis: MySQL slaptažodis.
- Duomenų bazės pavadinimas: duomenų bazės, prie kurios norite prisijungti, pavadinimas.
Prieš prisijungdami prie MySQL duomenų bazės, sukurkite naują katalogą:
mkdir python-mysql
Nustatykite Python virtualią aplinką
Python virtuali aplinka leidžia įdiegti paketus ir paleisti scenarijus izoliuotoje aplinkoje. Kada tu sukurti virtualią aplinką, tada jame galite įdiegti Python ir Python priklausomybių versijas. Taip atskirsite skirtingas versijas ir išvengsite suderinamumo problemų.
Prisijunkite prie MySQL naudodami mysqlclient
The mysqlclient tvarkyklė yra MySQL duomenų bazės serverio sąsaja, teikianti Python duomenų bazės serverio API. Tai parašyta C.
Vykdykite šią komandą virtualioje aplinkoje, kad įdiegtumėte mysqlclient:
pip diegti mysqlclient
Jei naudojate Linux įrenginį, pirmiausia įdiekite Python 3 ir MySQL kūrimo antraštes ir bibliotekas.
# Debian / Ubuntu
sudo apt-get diegti python3-dev numatytas-libmysqlclient-dev statyti-esminis
# Red Hat / CentOS
sudo yum diegti python3-devel mysql-devel
„Windows“ sistemoje „mysqlclient“ galite įdiegti naudodami dvejetainį rato failą. Atsisiųskite su jūsų platforma suderinamą mysqlclient failą iš Christoph Gohlke neoficiali kolekcija. Tada galite naudoti atsisiųstą rato failą su pip, kad įdiegtumėte mysqlclient taip:
pipdiegtic:\\mysqlclient‑1.3.13‑cp36‑cp36m‑win_amd64.whl
Norėdami prisijungti prie MySQL duomenų bazės, kai diegimas bus baigtas, naudokite šį ryšio kodą:
importuoti MySQLdb
ryšys = MySQLdb.connect(
šeimininkas="vietinis šeimininkas",
vartotojas ="<mysql_user>",
passwd="<mysql_slaptažodis>",
db="<duomenų bazės_pavadinimas>"
)žymeklis = ryšys.žymeklis()
cursor.execute("pasirinkiteduomenų bazėje();")
db = cursor.fetchone()
jei db:
spausdinti ("Tu'Prisijungę prie duomenų bazės: ", db)
Kitas:
spausdinti ('Neprisijungęs.')
Šioje programoje turite:
- Importuotas mysqlclient.
- Sukurtas ryšio objektas naudojant MySQLdb.connect().
- Perdavė išsamią duomenų bazės konfigūracijos informaciją MySQLdb.connect().
- Sukurtas žymeklio objektas sąveikauti su MySQL.
- Naudojo žymeklio objektą prijungtos MySQL duomenų bazės versijai gauti.
Nepamirškite pakeisti duomenų bazės informacijos savo.
Prisijunkite prie MySQL naudodami mysql-connector-python
mysql-connector-python yra oficiali Oracle palaikoma ryšio tvarkyklė. Jis taip pat parašyta grynu Python.
Norėdami pradėti naudoti, įdiekite jį per pip.
pip diegti mysql-connector-python
Prisijunkite prie MySQL naudodami šį ryšio kodą.
importuoti mysql.connector
iš mysql.connector importuotiKlaidaryšys = mysql.connector.connect (host="vietinis šeimininkas",
vartotojas ="<mysql_user>",
passwd="<mysql_slaptažodis>",
db="<duomenų bazės_pavadinimas>")
bandyti:
jeiguryšį.is_prijungtas():
žymeklis = ryšys.žymeklis()
cursor.execute("pasirinkiteduomenų bazėje();")
db = cursor.fetchone()
spausdinti ("Tu'vėl prijungtas prie duomenų bazės: ", db)
išskyrus Klaidakaip e:
spausdinti ("Klaidakol prisijungimas prie MySQL“, e)
pagaliau:
jeiguryšį.is_prijungtas():
žymeklį.Uždaryti()
ryšį.Uždaryti()
print ("MySQL ryšys yra uždaryta")
Aukščiau pateiktas ryšio kodas daro tą patį, ką daro mysqclient ryšio kodas.
Sukūrę ryšio objektą, galite sukurti žymeklį, kurį galėsite naudoti duomenų bazėje vykdyti užklausas.
Ši ryšio programa taip pat naudoja pabandyk... sugauti blokas. Klaidų klasė, nuo mysql.connector, leidžia užfiksuoti išimtis, kylančias jungiantis prie duomenų bazės. Tai turėtų supaprastinti derinimą ir trikčių šalinimą.
Prisijunkite prie MySQL naudodami PyMySQL
The PyMySQL ryšio tvarkyklė yra MySQLdb pakaitalas. Norėdami jį naudoti, turite paleisti Python 3.7 arba naujesnę versiją, o jūsų MySQL serveris turi būti 5 versijos. 7 ar naujesnė versija. Jei naudojate MariaDB, jos versija turėtų būti 10.2 arba naujesnė. Šiuos reikalavimus galite rasti PyMySQL Github puslapis.
Norėdami įdiegti PyMySQL, paleiskite šią komandą.
pip diegti PyMySQL
Prisijunkite prie MySQL naudodami PyMySQL naudodami šį kodą.
importuoti pymysql
ryšys = pymysql.connect (host="vietinis šeimininkas",
vartotojas ="<mysql_user>",
slaptažodis ="<mysql_slaptažodis>",
duomenų bazė ="<duomenų bazės_pavadinimas>")
bandyti:
žymeklis = ryšys.žymeklis()
cursor.execute("pasirinkiteduomenų bazėje();")
db = cursor.fetchone()
spausdinti ("Tu'Prisijungę prie duomenų bazės: ", db)
išskyrus pymysql. Klaida kaip e:
spausdinti ("Klaidakol prisijungimas prie MySQL“, e)
pagaliau:
žymeklį.Uždaryti()
ryšį.Uždaryti()
print ("MySQL ryšys yra uždaryta")
Užmezgę ryšį ir sukūrę žymeklio objektą, galite pradėti kurti SQL užklausos.
Prisijunkite prie MySQL naudodami aiomysql
The aiomysql ryšio tvarkyklė yra kaip asinchroninė PyMySQL versija. Tai suteikia prieigą prie MySQL duomenų bazės iš asyncio sistemos.
Norint naudoti aiomysql, kūrimo aplinkoje reikia įdiegti Python 3.7+ ir PyMySQL.
Vykdykite šią komandą, kad įdiegtumėte asyncio ir aiomysql.
pip diegti asyncio
pip diegti aiomysql
Naudodami aiomysql galite prijungti Python prie MySQL naudodami pagrindinį ryšio objektą ir ryšių telkinį.
Štai pavyzdys, rodantis, kaip prisijungti prie MySQL duomenų bazės naudojant ryšio objektą.
importuoti asyncio
importuoti aiomysql
kilpa = asyncio.get_event_loop()asyncdefpython_mysql():
ryšys = laukti aiomysql.connect (host="vietinis šeimininkas",
vartotojas ="<mysql_user>",
slaptažodis ="<mysql_slaptažodis>",
duomenų bazė ="<duomenų bazės_pavadinimas>")cur = laukti connect.cursor()
laukti cur.execute("pasirinkiteduomenų bazėje();")
db = laukti cur.fetchone()
spausdinti ("Tu'Prisijungę prie duomenų bazės: ", db)
laukti cur.close ()
ryšį.Uždaryti()
kilpa.run_until_complete(python_mysql())
Skirtingai nuo duomenų bazės ryšio objekto, ryšių telkinys leidžia pakartotinai naudoti duomenų bazės ryšius. Tai daroma palaikydama atvirų jungčių telkinį ir priskirdama juos paprašius. Kai klientas prašo prisijungti, jis jam priskiriamas iš telkinio. Kai klientas uždaro ryšį, ryšys grįžta į baseiną.
Pagrindinis prisijungimo per baseiną kodas yra toks:
importuoti asyncio
importuoti aiomysql
kilpa = asyncio.get_event_loop()
asyncdefpython_mysql():
baseinas = laukti aiomysql.create_pool (host="vietinis šeimininkas",
vartotojas ="<mysql_user>",
slaptažodis ="<mysql_slaptažodis>",
duomenų bazė ="<duomenų bazės_pavadinimas>", loop=ciklas, autocommit=False)asyncsu pool.acquire() kaip ryšys:
žymeklis = laukti connect.cursor()
laukti cur.execute("pasirinkiteduomenų bazėje();")
db = laukti cur.fetchone()
spausdinti ("Tu'Prisijungę prie duomenų bazės: ", db)baseinas.Uždaryti()
laukti pool.wait_closed()
kilpa.run_until_complete(python_mysql())
Ši programa turėtų spausdinti MySQL versiją, prie kurios prisijungėte, kai ją paleisite.
Valdykite savo PostgreSQL duomenų bazę
Šiame straipsnyje parodyta keletas būdų, kaip prijungti Python programą prie MySQL. Kiekvienas iš šių metodų leidžia sąveikauti su duomenų baze ir vykdyti užklausas.
Prisijungę prie MySQL duomenų bazės, galite vykdyti duomenų užklausas ir duomenų bazės operacijas. Galite sukurti Python programą, prijungti ją prie MySQL ir pradėti saugoti duomenis.