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.

Industriingeniør som gerne beskæftiger sig med optimering, simulation og matematisk modellering i R, SQL, VBA og Python

Leave a Reply