【SQLite資料庫】#03 使用Python操作SQLite DB

這篇要教大家如何利用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)