文章目錄
一. 前言
這篇將進入 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 連線資料庫
# 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:[email protected]: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
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)
▍新增資料
sql = """
INSERT INTO collection(
website, title, description, artical_time)
VALUES ('Mohan', '20', 'M', 2000)
"""
db.engine.execute(sql)
▍查詢資料
sql = """
select distinct title, website from collection
"""
print(db.engine.execute(sql).fetchall())
print(db.engine.execute(sql).fetchone())
▍更新資料
sql = """
update collection set website = "Max" where website= "Mohan"
"""
db.engine.execute(sql)
▍刪除資料
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 粉絲專頁,如果想看最新更新,還請您按讚或是追蹤唷!