MySQL on yksi suosituimmista relaatiotietokannoista. Sen avulla voit tallentaa tietoja taulukoihin ja luoda suhteita näiden taulukoiden välille. Käyttääksesi MySQL: ää, joka toimii tietokantapalvelimena, sinun on kirjoitettava koodi muodostaaksesi yhteyden siihen.

Useimmat ohjelmointikielet, kuten Python, tukevat tätä. Itse asiassa Pythonissa on useita lähestymistapoja, joista jokaisella on omat etunsa.

Valmistele MySQL-kokoonpanosi

Tarvitset seuraavat arvot muodostaaksesi yhteyden tietokantaan:

  • Isäntä: MySQL-palvelimen sijainti, localhost, jos käytät sitä samassa tietokoneessa.
  • Käyttäjä: MySQL-käyttäjätunnus.
  • Salasana: MySQL-salasana.
  • Tietokannan nimi: sen tietokannan nimi, johon haluat muodostaa yhteyden.

Ennen kuin muodostat yhteyden MySQL-tietokantaan, luo uusi hakemisto:

mkdir python-mysql

Python-virtuaaliympäristön määrittäminen

Python-virtuaaliympäristössä voit asentaa paketteja ja ajaa komentosarjoja eristetyssä ympäristössä. Kun sinä luoda virtuaalinen ympäristö, voit sitten asentaa siihen versioita Pythonista ja Python-riippuvuuksista. Tällä tavalla eristät eri versiot ja vältät yhteensopivuusongelmia.

instagram viewer

Yhdistä MySQL: ään mysqlclientin avulla

The mysqlclient ohjain on liitäntä MySQL-tietokantapalvelimeen, joka tarjoaa Python-tietokantapalvelimen API: n. Se on kirjoitettu C-kielellä.

Asenna mysqlclient suorittamalla seuraava komento virtuaaliympäristössä:

pip Asentaa mysqlclient

Jos käytät Linux-konetta, asenna ensin Python 3- ja MySQL-kehitysotsikot ja -kirjastot.

# Debian / Ubuntu
sudo apt-get Asentaa python3-dev oletuksena-libmysqlclient-dev rakentaa- välttämätön

# Red Hat / CentOS
sudo yum Asentaa python3-devel mysql-devel

Windowsissa voit asentaa mysqlclient binääripyörätiedoston avulla. Lataa alustasi kanssa yhteensopiva mysqlclient-tiedosto osoitteesta Christoph Gohlken epävirallinen kokoelma. Voit sitten käyttää ladattua pyörätiedostoa pip: n kanssa asentaaksesi mysqlclient seuraavasti:

pipAsentaac:\\mysqlclient‑1.3.13cp36cp36mwin_amd64.whl

Käytä seuraavaa yhteyskoodia muodostaaksesi yhteyden MySQL-tietokantaan, kun asennus on valmis:

tuonti MySQLdb

yhteys = MySQLdb.connect(
isäntä ="paikallinen isäntä",
käyttäjä="<mysql_user>",
passwd="<mysql_salasana>",
db="<tietokannan nimi>"
)

kursori = yhteys.kursori()
cursor.execute("valitsetietokanta();")
db = cursor.fetchone()

jos db:
Tulosta("Sinä'yhdistetty tietokantaan: ", db)
muu:
Tulosta('Ei yhteyttä.')

Tässä ohjelmassa sinulla on:

  • Tuotu mysqlclient.
  • Luotiin yhteysobjekti käyttämällä MySQLdb.connect().
  • Välitti tietokannan määritystiedot tiedostolle MySQLdb.connect().
  • Loi kohdistinobjektin vuorovaikutukseen MySQL: n kanssa.
  • Käytti kohdistinobjektia yhdistetyn MySQL-tietokannan version hakemiseen.

Muista vaihtaa tietokannan tiedot omillasi.

Yhdistä MySQL: ään käyttämällä mysql-connector-pythonia

mysql-connector-python on Oraclen tukema virallinen yhteysohjain. Se on myös kirjoitettu puhtaalla Pythonilla.

Asenna se pipin kautta aloittaaksesi sen käytön.

pip Asentaa mysql-connector-python

Yhdistä MySQL: ään käyttämällä seuraavaa yhteyskoodia.

tuonti mysql.connector
alkaen mysql.connector tuontiVirhe

yhteys = mysql.connector.connect (host="paikallinen isäntä",
käyttäjä="<mysql_user>",
passwd="<mysql_salasana>",
db="<tietokannan nimi>")

yrittää:
josyhteys.on yhdistetty():
kursori = yhteys.kursori()
cursor.execute("valitsetietokanta();")
db = cursor.fetchone()
Tulosta("Sinä'yhdistetty uudelleen tietokantaan: ", db)
paitsi Virhekuten e:
Tulosta("Virhesillä aikaa yhteyden muodostaminen MySQL: ään", e)
vihdoinkin:
josyhteys.on yhdistetty():
kohdistin.kiinni()
yhteys.kiinni()
print("MySQL-yhteys On suljettu")

Yllä oleva yhteyskoodi tekee saman kuin mysqclient-yhteyskoodi.

Kun olet luonut yhteysobjektin, voit luoda kohdistimen, jonka avulla voit suorittaa kyselyitä tietokannassa.

Tämä yhteysohjelma käyttää myös yritä saada kiinni lohko. Virheluokka, alkaen mysql.connector, voit ottaa kiinni tietokantayhteyden yhteydessä esiin tulleet poikkeukset. Tämän pitäisi yksinkertaistaa virheenkorjausta ja vianmääritystä.

Yhdistä MySQL: ään PyMySQL: n avulla

The PyMySQL yhteysohjain on MySQLdb: n korvike. Käyttääksesi sitä, sinulla on oltava Python 3.7 tai uudempi ja MySQL-palvelimesi version tulee olla 5. 7 tai uudempi. Jos käytät MariaDB: tä, sen version tulee olla 10.2 tai uudempi. Löydät nämä vaatimukset osoitteessa PyMySQL Github-sivu.

Asenna PyMySQL suorittamalla seuraava komento.

pip Asentaa PyMySQL

Yhdistä MySQL: ään PyMySQL: n avulla käyttämällä tätä koodia.

tuonti pymysql

yhteys = pymysql.connect (host="paikallinen isäntä",
käyttäjä="<mysql_user>",
salasana ="<mysql_salasana>",
tietokanta="<tietokannan nimi>")

yrittää:
kursori = yhteys.kursori()
cursor.execute("valitsetietokanta();")
db = cursor.fetchone()
Tulosta("Sinä'yhdistetty tietokantaan: ", db)
paitsi pymysql. Virhe kuten e:
Tulosta("Virhesillä aikaa yhteyden muodostaminen MySQL: ään", e)
vihdoinkin:
kohdistin.kiinni()
yhteys.kiinni()
print("MySQL-yhteys On suljettu")

Kun olet muodostanut yhteyden ja luonut kohdistinobjektin, voit aloittaa luomisen SQL-kyselyt.

Yhdistä MySQL: ään käyttämällä aiomysql: ää

The aiomysql yhteysohjain on kuin PyMySQL: n asynkroninen versio. Se tarjoaa pääsyn MySQL-tietokantaan asyncio-kehyksestä.

Aiomysql: n käyttäminen vaatii Python 3.7+:n ja PyMySQL: n asennettuna kehitysympäristöösi.

Suorita seuraava komento asentaaksesi asyncio ja aiomysql.

pip Asentaa asyncio
pip Asentaa aiomysql

Aiomysql: n avulla voit yhdistää Pythonin MySQL: ään käyttämällä perusyhteysobjektia ja käyttämällä yhteyspoolia.

Tässä on esimerkki, joka näyttää yhteyden muodostamisen MySQL-tietokantaan yhteysobjektin avulla.

tuonti asyncio
tuonti aiomysql
silmukka = asyncio.get_event_loop()

asynkdefpython_mysql():
yhteys = odota aiomysql.connect (host="paikallinen isäntä",
käyttäjä="<mysql_user>",
salasana ="<mysql_salasana>",
tietokanta="<tietokannan nimi>")

cur = odottaa yhteys.kursori()
odota cur.execute("valitsetietokanta();")
db = odottaa cur.fetchone()
Tulosta("Sinä'yhdistetty tietokantaan: ", db)
odottaa cur.close()
yhteys.kiinni()

silmukka.run_until_complete(python_mysql())

Toisin kuin tietokantayhteysobjekti, yhteyspooli mahdollistaa tietokantayhteyksien uudelleenkäytön. Se tekee tämän ylläpitämällä avoimia yhteyksiä ja osoittamalla ne pyynnöstä. Kun asiakas pyytää yhteyttä, hänelle osoitetaan sellainen poolista. Kun asiakas sulkee yhteyden, yhteys palaa pooliin.

Altaan kautta yhdistämisen peruskoodi on seuraava:

tuonti asyncio
tuonti aiomysql
silmukka = asyncio.get_event_loop()
asynkdefpython_mysql():
pool = odota aiomysql.create_pool (host="paikallinen isäntä",
käyttäjä="<mysql_user>",
salasana ="<mysql_salasana>",
tietokanta="<tietokannan nimi>", loop=silmukka, autocommit=False)

asynkkanssa pool.acquire() kuten yhteys:
kursori = odottaa yhteys.kursori()
odota cur.execute("valitsetietokanta();")
db = odottaa cur.fetchone()
Tulosta("Sinä'yhdistetty tietokantaan: ", db)

uima-allas.kiinni()
odottaa pool.wait_closed()

silmukka.run_until_complete(python_mysql())

Tämän ohjelman pitäisi tulostaa MySQL-versio, johon olet muodostanut yhteyden, kun suoritat sen.

PostgreSQL-tietokannan hallinta

Tämä artikkeli osoitti sinulle useita tapoja yhdistää Python-sovellus MySQL: ään. Jokainen näistä menetelmistä mahdollistaa vuorovaikutuksen tietokannan kanssa ja kyselyjen suorittamisen.

Kun olet muodostanut yhteyden MySQL-tietokantaan, voit suorittaa tietokyselyitä ja tietokantatapahtumia. Voit luoda Python-sovelluksen, liittää sen MySQL: ään ja aloittaa tietojen tallentamisen.