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