上一篇我們簡單介紹了SQLite的概述及應用,這次我們將介紹如何使用Python的sqlite3套件進行資料庫及Table的創建。
創建資料庫
首先,我們需要先創建資料庫的檔案:
import sqlite3
con = sqlite3.connect("tutorial.db")
透過sqlite3.connect("tutorial.db")會建立一個連線到tutorial這個資料庫,如果目標位置沒有tutorial.db這個檔案,則會自動創建檔案。
這時con這個變數會是sqlite3.Connection物件,代表跟tutorial.db的連線。
創建指標(Cursor)
要在Python中透過SQL語法對資料庫進行操作或取得資料,必須透過Cursor來進行,可以把它想像成一個遊戲手把,你不可能直接不通過手把就對遊戲進行操作,同理你不能直接對資料庫下指令,而是要透過Cursor來執行SQL命令。
假如我們要創建con這個連線的指標物件:
cur = con.cursor()
創建資料表(Table)
現在tutorial這個資料庫仍是空白的狀態,接下來我們要創建Table,Table是資料庫中用來儲存資料的結構,可以想像成一個有規則的表格:

假設我們要創建一個紀錄員工(employee)基本資料的資料表,要有id(整數)、名字(字串)及生日(日期)三個欄位:
sqlite_command = """CREATE TABLE employee (
id INTEGER PRIMARY KEY,
name text NOT NULL,
birthday DATE
);"""
cur.execute(sqlite_command)
con.commit()
執行後我們創建了一個名為employee的資料表,其中含有id、name和birthday三個欄位。
這段程式碼中有幾個操作稍微提一下:
1. cur.execute()是透過cursor執行SQL命令。
2. con.commit()是確認並送出指令,將變更永久保存到資料庫的動作。
驗證結果
現在,我們要檢查是否正確建立了employee這個資料表,我們透過以下指令對欄位進行輸出:
cur.execute("SELECT * FROM employee;")
for column in cur.description:
print(column[0])
執行後我們會得到:

下一步
在我們建立完資料庫及資料表後,下一步就是往裡面塞資料,但在那之前,各位可能會想:我怎麼知道資料表真的建立成功了?有沒有更直觀的方式可以查看和管理資料庫?
所以,下一篇文章我們將會介紹DB Browser這個應用程式,以及如何透過他建立、查看資料庫。
