Du kan bruge Python og MariaDB til effektivt at forbinde en database med ap­pli­ka­tio­ner og behandle in­for­ma­tion. Kom­bi­na­tio­nen af Python og MariaDB er særligt velegnet til webapps, da­ta­a­na­ly­se og au­to­ma­ti­se­ring af rapporter.

Hvad er for­ud­sæt­nin­ger­ne?

Du skal opfylde følgende krav for at forbinde Python-pro­gram­mer med MariaDB:

  • Python-in­stal­la­tio­ner: Du skal have Python in­stal­le­ret på dit system. Sørg for, at du bruger en version, der un­der­støt­tes af MariaDB.
  • MariaDB-database: Du skal have en funk­tio­nel MariaDB-database. Du kan enten bruge en lokal MariaDB-in­stal­la­tion eller oprette en for­bin­del­se til en fjern database.
  • Da­ta­ba­se­ad­gangs­da­ta: Du skal bruge op­lys­nin­ger som værtsnavn, port, da­ta­ba­se­navn, bru­ger­navn og ad­gangs­ko­de for at oprette for­bin­del­se til MariaDB-databasen.
  • Python-modul: Python/Connector-modulet til op­ret­tel­se af for­bin­del­se til MariaDB skal være in­stal­le­ret.

Sådan for­be­re­des og in­stal­le­res MariaDB med Python

Der er to mu­lig­he­der for at få adgang til en MariaDB-server. Du kan enten in­stal­le­re en MariaDB-server på din egen computer eller server eller bruge MariaDB-plat­for­men i skyen.

Mulighed 1: Installer MariaDB på hardware

Det er ganske enkelt at downloade og in­stal­le­re MariaDB-pakken på din egen hardware. Her er en trinvis vej­led­ning:

Trin 1: Kon­trol­ler sy­stem­kra­ve­ne

Kon­trol­ler kravene til in­stal­la­tion af MariaDB på dit system. Sørg for, at din hardware opfylder mini­mum­s­kra­ve­ne, såsom til­stræk­ke­lig diskplads og hukom­mel­se.

Trin 2: Download MariaDB

Gå til MariaDB’s of­fi­ci­el­le hjem­mesi­de og vælg download til dit ope­ra­tiv­sy­stem (Windows, Linux eller macOS). Sørg for at vælge den rigtige version til dit system.

Trin 3: Installer pakken

Download pakken til dit ope­ra­tiv­sy­stem og din ar­ki­tek­tur (32 bit eller 64 bit). Når down­lo­a­det er færdigt, skal du køre in­stal­la­tio­nen. In­stal­la­tio­nen starter for­skel­ligt på for­skel­li­ge ope­ra­tiv­sy­ste­mer. For eksempel skal du indtaste kom­man­do­en sudo apt install mariadb-server for at in­stal­le­re MariaDB på Ubuntu 20.04.

Trin 4: Kon­fi­gu­rer databasen

Nu skal du kon­fi­gu­re­re MariaDB-serveren. Dette omfatter angivelse af ad­gangs­da­ta, sik­ker­heds­indstil­lin­ger og andre da­ta­ba­se­pa­ra­me­tre.

Trin 5: Start MariaDB

Start MariaDB-ser­ver­ser­vi­cen. I Windows kan du gøre dette med Service Manager. I Linux og macOS kan du gøre det på kom­man­do­linj­en med sudo systemctl start mariadb eller sudo service mariadb start.

Trin 6: Udfør den ind­le­den­de kon­fi­gu­ra­tion

Efter at have startet MariaDB skal du kon­fi­gu­re­re det ved hjælp af kom­man­do­en mysql_secure_installation. Kom­man­do­en hjælper dig med at definere vigtige sik­ker­heds­indstil­lin­ger som ad­gangs­ko­der og sletning af testkonti.

Trin 7: Test da­ta­ba­se­ad­gang

Kon­trol­ler, om du kan oprette for­bin­del­se til databasen. Log ind som root-bruger med mysql -u root -p. Indtast din ad­gangs­ko­de, og kør nogle enkle SQL-fo­re­spørgs­ler for at sikre, at serveren fungerer korrekt.

Mulighed 2: Brug MariaDB SkySQL

MariaDB SkySQL er en cloud­ba­se­ret da­ta­ba­se­p­lat­form, som du kan bruge til at køre MariaDB-databaser i skyen. Plat­for­men omfatter MariaDB En­ter­pri­se Server og tilbyder au­to­ma­tisk skalering, høj til­gæn­ge­lig­hed og in­te­gre­re­de sik­ker­heds­funk­tio­ner.

Trin 1: Registrer dig og log ind

Gå til den of­fi­ci­el­le MariaDB SkySQL-webside og opret en konto, hvis du ikke allerede har en. Log derefter ind.

Trin 2: Opret en ny tjeneste

Når du har logget ind, bliver du om­di­ri­ge­ret til SkySQL-hjem­mesi­den. Klik på knappen for at oprette en ny da­ta­ba­se­tje­ne­ste. Vælg en tje­ne­ste­ty­pe. Du kan vælge mellem for­skel­li­ge MariaDB-platforme, herunder MariaDB En­ter­pri­se Server og andre da­ta­ba­se­tje­ne­ster.

Trin 3: Kon­fi­gu­rer tjenesten

Kon­fi­gu­rer tjenesten, herunder valg af MariaDB-version, da­ta­ba­se­ka­pa­ci­tet og andre res­sour­ce­pa­ra­me­tre. Du kan også vælge mu­lig­he­der for høj til­gæn­ge­lig­hed og au­to­ma­tisk skalering. Definer indstil­lin­ger­ne for god­ken­del­se og sikkerhed. Det omfatter kon­fi­gu­ra­tion af bru­ger­nav­ne og ad­gangs­ko­der samt ad­mi­ni­stra­tion af adgangen til databasen.

Trin 4: Opret for­bin­del­se til databasen

Når tjenesten er blevet im­ple­men­te­ret, modtager du op­lys­nin­ger om værtsnavn, port, bru­ger­navn og ad­gangs­ko­de. Brug disse op­lys­nin­ger til at oprette for­bin­del­se til din database. Kør nogle enkle fo­re­spørgs­ler for at sikre, at tjenesten fungerer.

Trin 5: Overvåg og ad­mi­ni­strer databasen

MariaDB SkySQL tilbyder over­våg­nings- og ana­ly­se­værk­tø­jer til over­våg­ning af din databases ydeevne. Brug disse værktøjer til at sikre, at din database kører optimalt. Om nød­ven­digt kan du ad­mi­ni­stre­re og skalere din database ved at justere dine res­sour­ce­pa­ra­me­tre eller aktivere yder­li­ge­re funk­tio­ner.

Sådan opretter du for­bin­del­se til MariaDB-serveren

Du kan bruge MariaDB-bi­bli­o­te­ket til Python til at oprette for­bin­del­se til en MariaDB-database og udføre da­ta­ba­se­o­pe­ra­tio­ner som fo­re­spørgs­ler, ind­sæt­tel­se eller op­da­te­ring af data. Installer bi­bli­o­te­ket ved hjælp af pak­ke­hånd­te­rin­gen pip:

pip3 install mariadb
shell

Nu kan du oprette for­bin­del­se til MariaDB ved hjælp af Python.

Trin 1: Opret en for­bin­del­se

Først skal du importere bi­bli­o­te­ket og oprette en for­bin­del­se til din MariaDB-database. For at gøre det skal du bruge op­lys­nin­ger som værtsnavn, port, da­ta­ba­se­navn, bru­ger­navn og ad­gangs­ko­de.

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

Cursoren er et objekt, du kan bruge til at udføre da­ta­ba­se­o­pe­ra­tio­ner i en re­la­tions­da­ta­ba­se som MariaDB. Disse ope­ra­tio­ner omfatter for eksempel SQL-fo­re­spørgs­ler og da­ta­be­hand­ling. I Python modtager du en cursor, når du har oprettet en for­bin­del­se til databasen. Du kan hente den ved hjælp af metoden cursor().

Trin 2: Forespørg data

Nu bruger vi markøren til at udføre SQL-fo­re­spørgs­ler og hente data fra 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

Trin 3: Indsæt data

For at indsætte data i en tabel skal du definere en SQL INSERT-fo­re­spørgsel og udføre den ved hjælp af 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-sætningen angiver, hvilken tabel (your_table) og hvilke kolonner (column1 og column2) du indsætter data i. Plads­hol­de­re som %s står for de værdier, der vil blive indsat. Tupelen values in­de­hol­der de til­sva­ren­de værdier, som du indtaster i databasen. Markøren udfører INSERT-fo­re­spørgs­len med de værdier, du angiver. Endelig bekræfter metoden conn.commit() transak­tio­nen for at sikre, at æn­drin­ger­ne gemmes permanent i databasen.

Trin 4: Luk for­bin­del­sen

Når da­ta­ba­se­o­pe­ra­tio­ner­ne er afsluttet, skal du lukke markøren og for­bin­del­sen for at frigøre res­sour­cer.

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

Trin 5: Håndter fejl

Det er vigtigt at inkludere fejl­hånd­te­ring, så du kan fange even­tu­el­le und­ta­gel­ser, der opstår, når for­bin­del­sen oprettes eller fo­re­spørgs­ler udføres.

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 tilpasse denne grund­læg­gen­de struktur til din spe­ci­fik­ke an­ven­del­se og im­ple­men­te­re for­skel­li­ge da­ta­ba­se­o­pe­ra­tio­ner.

Her er den fulde kode:

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å til ho­ved­me­nu­en