close

【SQLite3】輕型資料庫(二)快速上手篇:Python常用的7大SQLite3語句!萬解啦!開啟執行存檔關閉資料庫

繼上篇【SQLite3】輕型資料庫(一)快速上手篇:不用會太多SQL語法也能打造自己的財務資料庫!手把手交到會!

而後帶大家看一下常用的SQLite3語句,應該說基本上就用到這些就可以見一個自己的資料庫了,下一篇就手把手帶大家建一個資料庫

 

一、sqlite3常用語句

import pandas, numpy
import datetime
import sqlite3

# 選擇sqlite資料庫
conn = sqlite3.connect('base.db') # 不存在則會自動建立

# 建立cursor
c = conn.cursor()

# 執行 sql語句
c.execute(sql)

# 取出select後的資料
one = c.fetchone # 只取最後一筆
data = c.fetchall() # 取出全部

# 存檔
conn.commit() # 如果只是select就沒差 但有insert就有差

# 關閉資料庫
conn.close()

# 在pandas下把df存進sqlite
# =============================================================================
# name: 表名稱
# con: 資料庫名稱
# if_exists: 如果表存在就 >>> fail:不管 replace:取代 append:往後插入
# index是否要把df的index也存入並建立索引
# =============================================================================
df.to_sql(name='log', con=conn, if_exists='replace', index=True)

 

二、超常用sql語法

同上一篇再次強調這幾個sql語法,因為太常用到了

在python中你可以寫法可以如下:

sql的地方放我們的sql語法而後去c.execute(sql)

如果語句中有insert記得要conn.commit()才會寫入喔!

懂了之後往下看一下常用語法吧!

# 連接資料庫
conn = sqlite3.connect('base.db')
c = conn.cursor()

# sql 語法
sql = '''
CREATE TABLE TWSE_Daily_Info1(  
   Date TEXT NOT NULL,
   Exchange TEXT,
   Symbol TEXT NOT NULL,
   Name TEXT NOT NULL,
   Volume INTEGER,
   Shares INTEGER,
   Transactions INTEGER,
   PRIMARY KEY("Date" , "Symbol"));'''

# 執行 sql 語法
c.execute(sql)

# 存檔 關閉
conn.commit()
conn.close()

 

1.創建表CREATE TABLE

CREATE TABLE "表名稱" (
    "欄位名稱"    資料型態 欄位相關設定,
    "欄位名稱"    資料型態 欄位相關設定,
    表相關設定
);
CREATE TABLE "TestTable2" (
    "ID"    INTEGER NOT NULL,
    "Contract"    TEXT,
    PRIMARY KEY("ID" AUTOINCREMENT)
);

 

2.查詢資料 SELECT

SELECT 欄位 FROM 表 WHERE 篩選規則 ORDER BY 排序欄位 排序規則
SELECT * FROM TestTable WHERE Symbol in ("2412") ORDER BY DATE ASC

 

3.插入(新增)資料 INSERT

INSERT INTO 表 ("欄位", "欄位", "欄位", "欄位", "欄位")
    VALUES("值", "值", "值", "值", "值")
INSERT INTO TestTable ("Date", "Exchange", "Symbol", "Name", "Close")
    VALUES("2021/6/5", "TWSE", "2330", "台積電", "700")

 

三、後記

用的SQLite3語句,應該說基本上就用到這些就可以見一個自己的資料庫了,下一篇就手把手帶大家建一個資料庫

還不知道怎麼學python或基礎不穩的可以看:

Python學習地圖總覽:課程分類 專案分類 問題解決

arrow
arrow
    文章標籤
    Python SQLite3 SQLite pandas
    全站熱搜

    恩哥Python 發表在 痞客邦 留言(0) 人氣()