這篇要教大家如何利用Python來操作SQLite資料庫,不論是查詢或是輸入資料都可以在Python上操作。
連接資料庫
首先我們要使用sqlite3套件,並創建一個與SQLite資料庫連接的物件。
import sqlite3
#創建資料庫連接
connection = sqlite3.connect('data.db')
輸入資料
輸入資料需要使用execute來執行SQL指令,在新增或修改完資料後,在結束所有資料的輸入後,必須使用commit()來儲存資料庫的修改,結束後再關閉資料庫。
#執行SQL指令
connection.execute("INSERT INTO StockData_table (Symbol, Date, Close) VALUES ('2330','20201130',500)")
#儲存資料庫
connection.commit()
#關閉資料庫連接
connection.close()
查找資料
import sqlite3
connection = sqlite3.connect('data.db')
cursor = connection.execute("SELECT TOP 100 * FROM StockData_table")
#將cursor抓出的資料輸出
for row in cursor:
print(row)
Pandas方式
我更喜歡的一種方式是使用Pandas的方式,更為簡短且直接轉換為我們最常作為多維度資料分析格式的pd.DataFrame。
import sqlite3
import pandas as pd
import numpy as np
connection = sqlite3.connect('data.db')
#輸入資料
df = pd.DataFrame(np.random.rand(5,2), columns = ['x','y'])
df.to_sql('sample_table', con = connection, if_exists = 'append', index = False)
#讀取資料
df_read = pd.read_sql_query("SELECT TOP 100 * FROM StockData_table". con = connection)