iT邦幫忙

2022 iThome 鐵人賽

DAY 17
1
自我挑戰組

Python and LINE Bot系列 第 17

[Day17] SQL指令操作

  • 分享至 

  • xImage
  •  

About 新增資料表

一、設定資料庫連線

用 SQL 指令操作資料庫前,跟 [Day15] 介紹的 ORM 一樣,要先設定資料庫連線,並產生 db 物件。

語法為:

from flask import Flask,  request
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 
       'postgresql://管理者帳號:管理者密碼@資料庫位址:5432/資料庫名稱'
db = SQLAlchemy(app)

 

二、用SQL指令新增資料表

用 SQL 語法操作資料庫的語法:

命令變數 = "SQL語法"
db.engine.execute(命令變數)

新增資料表的指令:

CREATE TABLE 資料表名稱 (
    欄位 1 資料型態,
    欄位 2 資料型態,
    欄位 3 資料型態,
    ...
)

範例:新增一個 students2 資料表,sid 為主索引欄位,name 為姓名,addr 為住址,email 為電子郵件。sid 的型態為整數,其餘皆為字串。
https://ithelp.ithome.com.tw/upload/images/20221002/20151448Td3ALYksaq.png

執行程式後到瀏覽器輸入網址 127.0.0.1:5000/setup ,會看到顯示資料表建立成功
https://ithelp.ithome.com.tw/upload/images/20221002/20151448HpJc0U7lAJ.png

到 pdAdmin 管理頁面中,可以看到已新增的 students2 資料表
https://ithelp.ithome.com.tw/upload/images/20221002/20151448xORuasP7T4.png
 
 
 

About SQL指令 CRUD

用 SQL 指令操作資料庫也是用 CRUD 的方式,分別為新增( Create )、查詢( Read )、更新( Update )、刪除( Delete )。
 

一、新增資料 ( Create )

新增資料的語法:

INSERT INTO 資料表名稱 (欄位名稱1, 欄位名稱2, 欄位名稱3, ...)
    VALUES(欄位值1, 欄位值2, ...)
    
#「欄位值」的資料型態必須與「欄位名稱」對應,若資料型態不符合執行會產生錯誤

範例:新增三筆資料
https://ithelp.ithome.com.tw/upload/images/20221002/20151448bjYyfUmKbI.png

到 pdAdmin 管理頁面中,可以看到已新增的資料
https://ithelp.ithome.com.tw/upload/images/20221002/20151448cQw79Qcq1o.png
 

二、查詢資料 ( Read )

查詢資料的語法:

SELECT 欄位名稱1, 欄位名稱2, 欄位名稱3, ...
FROM 資料表名稱
[WHERE 條件式]
[ORDER BY 欄位名稱 [ASC|DESC]]

#[]內的代表可有可無

範例:查詢姓名及信箱,排序方式是以 email 為條件來做遞增排序
https://ithelp.ithome.com.tw/upload/images/20221002/20151448WNNsCFp3h5.png

執行程式後在網址列輸入 127.0.0.1:5000/query 就可以看到查詢結果
https://ithelp.ithome.com.tw/upload/images/20221002/20151448HNcHVygCt5.png
 

三、更新資料 ( Update )

更新資料的語法為:

UPDATE 資料表名稱
SET 欄位名稱 1 = 值 1, 欄位名稱 2 = 值 2, 欄位名稱 3 = 值 3, ...
[WHERE 條件式]

範例:更改地址
https://ithelp.ithome.com.tw/upload/images/20221002/20151448s5eh4gmZoK.png

在網址列最後面輸入欲更改的資料的主索引欄位
https://ithelp.ithome.com.tw/upload/images/20221002/20151448QyACMbJZR4.png

到 pdAdmin 管理頁面中,可以看到資料已更新
https://ithelp.ithome.com.tw/upload/images/20221002/20151448twvykuPwOE.png

 

四、刪除資料 ( Delete )

刪除資料的語法為:

DELETE FROM 資料表名稱
[WHERE 條件式]

範例:以姓名為條件來刪除資料
https://ithelp.ithome.com.tw/upload/images/20221002/20151448v0NUdeJdOW.png

執行程式後到網址列輸入 127.0.0.1:5000/delete ,顯示資料刪除成功
https://ithelp.ithome.com.tw/upload/images/20221002/20151448AZYVbBBW10.png

到 pdAdmin 管理頁面中,可以看到資料已刪除
https://ithelp.ithome.com.tw/upload/images/20221002/20151448EzGTWwjqEO.png
 
 
  
 
 
 
 

參考資料:
Python與LINE Bot機器人全面實戰特訓班-Flask最強應用


上一篇
[Day16] 資料表操作
下一篇
[Day18] LINE 開發者管理控制台
系列文
Python and LINE Bot30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言