Table
一. 前言
這篇將進入 Flask-SQLAlchemy 這系列的第四集,如果前面幾篇還沒讀過的話,可以參考如下:
- [Flask教學] Flask-SQLAlchemy 資料庫連線&設定入門 (一)
- [Flask教學] Flask-SQLAlchemy 資料庫操作-ORM篇 (二)
- [Flask教學] Flask-SQLAlchemy -ORM 一對多關聯篇 (三)
- [Flask教學] Flask-SQLAlchemy -ORM 多對多關聯篇 (四)
今天會以 Flask + Flask-SQLAlchemy + SQL 指令為主來實作操作資料庫。
二. 進入 SQLAlchemy 的世界 – SQL指令篇
1. 使用 Flask-SQLAlchemy 連線資料庫
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# main.py from flask_sqlalchemy import SQLAlchemy from flask import Flask db = SQLAlchemy() app = Flask(__name__) app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False app.config['SQLALCHEMY_DATABASE_URI'] = "mysql+pymysql://account:password@IP:3306/db" db.init_app(app) @app.route('/') def index(): sql_cmd = """ select * from product """ query_data = db.engine.execute(sql_cmd) print(query_data) return 'ok' if __name__ == "__main__": app.run() |
2. 使用 SQL 原生指令操作資料庫
▍建立資料庫 table
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
sql = """ CREATE TABLE collection ( id INT NOT NULL AUTO_INCREMENT, website CHAR(100) NOT NULL, title CHAR(100), description CHAR(100), artical_time CHAR(100), insert_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (ID) ) """ db.engine.execute(sql) |
▍新增資料
1 2 3 4 5 6 7 |
sql = """ INSERT INTO collection( website, title, description, artical_time) VALUES ('Mohan', '20', 'M', 2000) """ db.engine.execute(sql) |
▍查詢資料
1 2 3 4 5 6 |
sql = """ select distinct title, website from collection """ print(db.engine.execute(sql).fetchall()) print(db.engine.execute(sql).fetchone()) |
▍更新資料
1 2 3 4 5 |
sql = """ update collection set website = "Max" where website= "Mohan" """ db.engine.execute(sql) |
▍刪除資料
1 2 3 4 |
sql = """ delete from collection where id = 1 """ db.engine.execute(sql) |
關於 Flask 教學的延伸閱讀:
▍關於 Flask 教學系列目錄:
▍關於 Flask 資料庫 SQLAlchemy 文章:
- [Flask教學] Flask-SQLAlchemy 資料庫連線&設定入門 (一)
- [Flask教學] Flask-SQLAlchemy 資料庫操作-ORM篇 (二)
- [Flask教學] Flask-SQLAlchemy -ORM 一對多關聯篇 (三)
- [Flask教學] Flask-SQLAlchemy -ORM 多對多關聯篇 (四)
- [Flask教學] Flask-SQLAlchemy 資料庫操作-SQL指令篇 (五)
[Flask教學] SQLAlchemy 資料庫操作-SQL指令篇 (五) 結束囉,感謝收看!
有關 Max行銷誌 的最新文章,都會發佈在 Max行銷誌的 Facebook 粉絲專頁,如果想看最新更新,還請您按讚或是追蹤唷!