Opsætning af databaser og datatabeller i SQLite3 via Python

I dette indlæg vil jeg demonstrere hvordan du kan oprette SQL-databaser drevet af SQLite som en databasemotor i Python. Jeg bruger SQLite3. SQLite3 installeres som standard gennem selve Python-installationen.

Nedenstående kodestykke er taget direkte fra https://www.sqlitetutorial.net/sqlite-python/create-tables/. Kodestykket implementerer funktioner til oprettelse af en database og tilslutning til den. Den anden funktion kan bruges til at oprette en tabel i databasen.

# import sqlite-modul
import sqlite3

# denne funktion opretter en databaseforbindelse til en databasefil
# params: databasefilnavn
# returnerer: forbindelse til database
def create_connection(db_file):
    conn = None
    try:
        conn = sqlite3.connect(db_file)
        return conn
    except Error as e:
        print(e)
    return conn

# denne funktion opretter en tabel i en database
# params: reference til databaseforbindelse, SQL kammando til oprettelse af tabel
# returns: None
def create_table(conn, create_table_sql):
    try:
        c = conn.cursor()
        c.execute(create_table_sql)
    except Error as e:
        print(e)

Jeg vil bruge ovenstående funktioner til at oprette en database, få adgang til dens forbindelse og oprette en tabel i den. Jeg starter med at oprette databasen og få adgang til dens forbindelse:

# oprettelse af en database og adgang til en forbindelse til den
dbConnection = create_connection("newDatabase.db")

Jeg får nu adgang til forbindelsen til databasen og opretter en ny tabel i databasen:

# opret tabel i database
materialTable = """ CREATE TABLE IF NOT EXISTS material (
                                id integer PRIMARY KEY,
                                description text NOT NULL,
                                category text NOT NULL,
                                price float); """
if dbConnection is not None:
    # opret en tabel
    create_table(dbConnection, materialTable)

Nu kan jeg begynde at skrive data ind i databasens tabeller. Til dette vil jeg definere en anden funktion (taget fra den kilde, der blev angivet i begyndelsen af ​​dette indlæg):

# denne funktion tilføjer en post til materialetabellen i databasen
# params: databaseforbindelse, SQL-indgang
# returns: None
def create_entryMaterialTable(conn, entry):
    sql = ''' INSERT INTO material(description,category,price)
              VALUES(?,?,?) '''
    cur = conn.cursor()
    cur.execute(sql, entry)
    conn.commit()

Jeg bruger nu ovenstående funktion til at tilføje et enkelt materiale til materialetabellen i databasen:

materialEntry = ("rear lamp","lighting products",649.99)
create_entryMaterialTable(dbConnection,materialEntry)

I kommende indlæg vil jeg demonstrere, hvordan du kan opdatere data i SQL-databasen via Python. Jeg vil også introducere alle vigtige sql-kommandoer for at kunne gennemføre en vellykket dataarbejde i SQLite3 gennem Python.

Leave a Reply

Leave a Reply

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

This site uses Akismet to reduce spam. Learn how your comment data is processed.