Python 版本: 3.7.8python
用 Pycharm 開發工具,新建項目,設置安裝如下包:mysql
1) Flasksql
2) Flask-SQLAchemy數據庫
3) PyMySqlflask
### Flask-SQLAlchemy 的介紹與安裝:session
1. ORM: Object Relationship Mapping (模型關係映射)app
2. flask-sqlalchemy 是一套 ORM 框架框架
3. ORM 的優點:簡單方便地操做數據庫,和操做對象相似。一個表抽象成一個類,一條數據抽象成該類的一個對象。工具
4. 安裝 flask-sqlalchemy開發工具
### Flask-SQLAlchemy 的使用:
1. 初始化和設置數據庫配置信息:
* 使用 flask_sqlalchemy 中的 SQLAlchemy 進行初始化:
1 from flask_sqlalchemy import SQLAlchemy 2 import config 3 4 app = Flask(__name__) 5 app.config.from_object(config) 6 db = SQLAlchemy(app)
2. 設置配置信息,在 'config.py' 文件中添加如下:
1 # dialect+driver://username:password@host:port/database 2 DIALECT = 'mysql' 3 DRIVER = 'pymysql' # 驅動程序在 python2 中是 mysqldb 4 USERNAME = 'pydev' 5 PASSWORD = 'syjinsari' 6 HOST = '192.168.0.110' 7 PORT = '3306' 8 DATABASE = 'py_demo' 9 10 SQLALCHEMY_DATABASE_URL = '{}+{}://{}:{}@{}:{}/{}?charset=utf8'.format(DIALECT,DRIVER,USERNAME,PASSWORD,HOST,PORT,DATABASE) 11 12 SQLALCHEMY_TRACK_MODIFICATIONS = False
3. 在主 app 文件中添加配置文件:
1 app = Flask(__name__) 2 app.config.from_object(config) 3 db = SQLAlchemy(app)
4. 測試鏈接,成功或者報錯:
''' db.create_all() '''
### 使用 Flask-SQLAlchemy 建立模型與表的映射:
1. 模型須要繼承自 `db.Model` ,而後映射到表中的屬性,必須寫成 `db.Column`的數據類型。
2. 數據類型:db.Integer db.String db.Text
其餘參數: primary_key autoincrement nullable
3. 最後調用 `db.create_all() 將模型真正建立到數據庫中
### 數據增刪改查
1 # 增: 2 article1 = Article(title='1st aaa',content='this is aaa') 3 db.session.add(article1) 4 # 事務 5 db.session.commit() 6 7 # 查 8 # select * from article where article.title = '1st aaa' 9 article1 = Article.query.filter(Article.title == '1st aaa').first() 10 print('title: %s' % article1.title) 11 print('content: %s' % article1.content) 12 13 # 改 14 # 1. 查到須要更改的行 2. 更改數據 3. 提交事務 15 article1 = Article.query.filter(Article.title == '1st aaa').first() 16 article1.title = 'new aaa' 17 db.session.commit() 18 19 20 # 刪 21 # 1. 查到須要刪除的行 2. 刪除 3. 提交事務 22 article1 = Article.query.filter(Article.title == 'new aaa').first() 23 db.session.delete(article1) 24 db.session.commit()