Du kan använda Python och MariaDB för att effektivt koppla samman en databas med ap­pli­ka­tio­ner och bearbeta in­for­ma­tion. Kom­bi­na­tio­nen av Python och MariaDB är särskilt lämplig för web­bap­pli­ka­tio­ner, da­taa­na­lys och au­to­ma­ti­se­ring av rapporter.

Vilka är för­ut­sätt­ning­ar­na?

Du måste uppfylla följande krav för att kunna ansluta Python-program till MariaDB:

  • Python-in­stal­la­tio­ner: Du måste ha Python in­stal­le­rat på ditt system. Se till att du använder en version som stöds av MariaDB.
  • MariaDB-databas: Du måste ha en fun­ge­ran­de MariaDB-databas. Du kan antingen använda en lokal MariaDB-in­stal­la­tion eller skapa en an­slut­ning till en fjärr­da­ta­bas.
  • Da­ta­bas­åt­komst­da­ta: Du behöver in­for­ma­tion som värdnamn, port, da­ta­bas­namn, an­vän­dar­namn och lösenord för att ansluta till MariaDB-databasen.
  • Python-modul: Python/Connector-modulen för an­slut­ning till MariaDB bör vara in­stal­le­rad.

Hur man för­be­re­der och in­stal­le­rar MariaDB med Python

Det finns två al­ter­na­tiv för att få åtkomst till en MariaDB-server. Du kan antingen in­stal­le­ra en MariaDB-server på din egen dator eller server eller använda MariaDB-platt­for­men i molnet.

Al­ter­na­tiv 1: In­stal­le­ra MariaDB på hårdvara

Det är ganska enkelt att ladda ner och in­stal­le­ra MariaDB-paketet på din egen hårdvara. Så här gör du steg för steg:

Steg 1: Kon­trol­le­ra system­kra­ven

Kon­trol­le­ra kraven för in­stal­la­tion av MariaDB på ditt system. Se till att din hårdvara uppfyller mi­ni­mikra­ven, såsom till­räck­ligt med dis­kut­rym­me och minne.

Steg 2: Ladda ner MariaDB

Gå till MariaDB:s of­fi­ci­el­la webbplats och välj ned­ladd­ning­en för ditt ope­ra­tiv­sy­stem (Windows, Linux eller macOS). Se till att du väljer rätt version för ditt system.

Steg 3: In­stal­le­ra paketet

Ladda ner paketet för ditt ope­ra­tiv­sy­stem och din ar­ki­tek­tur (32-bitars eller 64-bitars). När ned­ladd­ning­en är klar kör du in­stal­la­tio­nen. In­stal­la­tio­nen startar på olika sätt på olika ope­ra­tiv­sy­stem. För att in­stal­le­ra MariaDB på Ubuntu 20.04 anger du till exempel kommandot sudo apt install mariadb-server.

Steg 4: Kon­fi­gu­re­ra databasen

Nu måste du kon­fi­gu­re­ra MariaDB-servern. Detta in­ne­fat­tar att ange åt­komst­da­ta, sä­ker­hets­in­ställ­ning­ar och andra da­ta­bas­pa­ra­met­rar.

Steg 5: Starta MariaDB

Starta MariaDB-ser­ver­tjäns­ten. I Windows kan du göra detta med Service Manager. I Linux och macOS kan du göra det på kom­man­do­ra­den med sudo systemctl start mariadb eller sudo service mariadb start.

Steg 6: Utför den initiala kon­fi­gu­ra­tio­nen

Efter att ha startat MariaDB kon­fi­gu­re­rar du det med kommandot mysql_secure_installation. Kommandot hjälper dig att definiera viktiga sä­ker­hets­in­ställ­ning­ar som lösenord och radering av test­kon­ton.

Steg 7: Testa da­ta­bas­åt­komst

Kon­trol­le­ra om du kan ansluta till databasen. Logga in som root-användare med mysql -u root -p. Ange ditt lösenord och kör några enkla SQL-frågor för att sä­ker­stäl­la att servern fungerar korrekt.

Al­ter­na­tiv 2: Använd MariaDB SkySQL

MariaDB SkySQL är en moln­ba­se­rad da­ta­basplatt­form som du kan använda för att köra MariaDB-databaser i molnet. Platt­for­men in­klu­de­rar MariaDB En­ter­pri­se Server och erbjuder au­to­ma­tisk skalning, hög till­gäng­lig­het och in­te­gre­ra­de sä­ker­hets­funk­tio­ner.

Steg 1: Re­gi­stre­ra dig och logga in

Gå till MariaDB SkySQL:s of­fi­ci­el­la webbplats och re­gi­stre­ra ett konto om du inte redan har ett. Logga sedan in.

Steg 2: Skapa en ny tjänst

När du har loggat in omdi­ri­ge­ras du till SkySQL:s startsida. Klicka på knappen för att skapa en ny da­ta­bas­tjänst. Välj en tjäns­te­typ. Du kan välja mellan olika MariaDB-platt­for­mar, inklusive MariaDB En­ter­pri­se Server och andra da­ta­bas­tjäns­ter.

Steg 3: Kon­fi­gu­re­ra tjänsten

Kon­fi­gu­re­ra tjänsten, inklusive val av MariaDB-version, da­ta­ba­ska­pa­ci­tet och andra re­sur­spa­ra­met­rar. Du kan också välja al­ter­na­tiv för hög till­gäng­lig­het och au­to­ma­tisk skalning. Definiera au­ten­ti­se­rings- och sä­ker­hets­in­ställ­ning­ar­na. Det in­klu­de­rar kon­fi­gu­re­ring av an­vän­dar­namn och lösenord samt hantering av åtkomst till databasen.

Steg 4: Anslut till databasen

När tjänsten har dis­tri­bu­e­rats får du in­for­ma­tion om värdnamn, port, an­vän­dar­namn och lösenord. Använd denna in­for­ma­tion för att ansluta till din databas. Kör några enkla frågor för att kon­trol­le­ra att tjänsten fungerar.

Steg 5: Övervaka och hantera databasen

MariaDB SkySQL erbjuder över­vak­nings- och ana­lys­verk­tyg för att övervaka pre­stan­dan hos din databas. Använd dessa verktyg för att sä­ker­stäl­la att din databas fungerar optimalt. Vid behov kan du hantera och skala din databas genom att justera dina re­sur­spa­ra­met­rar eller aktivera yt­ter­li­ga­re funk­tio­ner.

Hur man ansluter till MariaDB-servern

Du kan använda MariaDB-bib­li­o­te­ket för Python för att ansluta till en MariaDB-databas och utföra da­ta­ba­so­pe­ra­tio­ner som att söka, infoga eller uppdatera data. In­stal­le­ra bib­li­o­te­ket med pa­ket­han­te­ra­ren pip:

pip3 install mariadb
shell

Nu kan du ansluta till MariaDB med Python.

Steg 1: Upprätta en an­slut­ning

Först måste du importera bib­li­o­te­ket och upprätta en an­slut­ning till din MariaDB-databas. För att göra det behöver du in­for­ma­tion som värdnamn, port, da­ta­bas­namn, an­vän­dar­namn och lösenord.

import mariadb
# Database connection details
db_config = {
    'user': 'your_username',
    'password': 'your_password',
    'host': 'your_hostname',
    'database': 'your_database',
    'port': 3306  # Standard port for MariaDB
}
# Establishing the connection
conn = mariadb.connect(**db_config)
# Create a cursor to execute queries
cursor = conn.cursor()
python

Markören är ett objekt som du kan använda för att utföra da­ta­ba­so­pe­ra­tio­ner i en re­la­tions­da­ta­bas som MariaDB. Dessa ope­ra­tio­ner in­klu­de­rar till exempel SQL-frågor och da­ta­be­hand­ling. I Python får du en markör efter att du har upprättat en an­slut­ning till databasen. Du kan hämta den med metoden cursor().

Steg 2: Fråga data

Nu använder vi markören för att utföra SQL-frågor och hämta data från databasen.

# Define the SQL query
sql_query = "SELECT * FROM your_table"
# Execute the query
cursor.execute(sql_query)
# Fetch results
results = cursor.fetchall()
# Display data
for row in results:
    print(row)
python

Steg 3: Infoga data

För att infoga data i en tabell de­fi­ni­e­rar du en SQL INSERT-fråga och kör den med hjälp av markören.

# Define the SQL insert query
insert_query = "INSERT INTO your_table (column1, column2) VALUES (%s, %s)"
# Values to insert
values = ('value1', 'value2')
# Execute the insert query
cursor.execute(insert_query, values)
# Commit the transaction
conn.commit()
python

SQL INSERT-satsen anger vilken tabell (your_table) och vilka kolumner (column1 och column2) du infogar data i. Plats­hål­la­re som %s står för de värden som kommer att infogas. Tuplen values in­ne­hål­ler mot­sva­ran­de värden som du matar in i databasen. Markören utför INSERT-frågan med de värden du anger. Slutligen bekräftar metoden conn.commit() trans­ak­tio­nen för att sä­ker­stäl­la att änd­ring­ar­na sparas permanent i databasen.

Steg 4: Stäng an­slut­ning­en

När da­ta­bas­åt­gär­der­na är slutförda stänger du markören och an­slut­ning­en för att frigöra resurser.

# Close cursor and connection
cursor.close()
conn.close()
python

Steg 5: Hantera fel

Det är viktigt att inkludera fel­han­te­ring så att du kan fånga upp even­tu­el­la undantag som uppstår när du upprättar an­slut­ning­en eller utför frågor.

try:
        # Establish the connection
        conn = mariadb.connect(**db_config)
        # Create a cursor
        cursor = conn.cursor()
        # Execute the query
        cursor.execute(sql_query)
        # Fetch results
        results = cursor.fetchall()
        for row in results:
            print(row)
    except mariadb.Error as err:
        print(f"Error: {err}")
    finally:
        # Close cursor and connection
        if cursor:
            cursor.close()
        if conn:
            conn.close()
python

Du kan anpassa denna grund­läg­gan­de struktur för din specifika ap­pli­ka­tion och im­ple­men­te­ra olika da­ta­ba­so­pe­ra­tio­ner.

Här är hela koden:

import mariadb
# Database connection details
db_config = {
    'user': 'your_username',
    'password': 'your_password',
    'host': 'your_hostname',
    'database': 'your_database',
    'port': 3306  # Standard port for MariaDB
}
try:
    # Establishing the connection
    conn = mariadb.connect(**db_config)
    # Create a cursor to execute queries
    cursor = conn.cursor()
    # Define the SQL query
    sql_query = "SELECT * FROM your_table"
    # Execute the query
    cursor.execute(sql_query)
    # Fetch results
    results = cursor.fetchall()
    # Display data
    for row in results:
        print(row)
    # Define the SQL insert query
    insert_query = "INSERT INTO your_table (column1, column2) VALUES (%s, %s)"
    # Values to insert
    values = ('value1', 'value2')
    # Execute the insert query
    cursor.execute(insert_query, values)
    # Commit the transaction
    conn.commit()
except mariadb.Error as err:
    print(f"Error: {err}")
finally:
    # Close cursor and connection
    if cursor:
        cursor.close()
    if conn:
        conn.close()
python
Gå till huvudmeny