日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Web框架——Flask系列之Flask-SQLAlchemy安装与使用 定义数据模型(八)

發布時間:2024/7/5 数据库 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Web框架——Flask系列之Flask-SQLAlchemy安装与使用 定义数据模型(八) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Flask-SQLAlchemy安裝及設置

  • SQLALchemy 實際上是對數據庫的抽象,讓開發者不用直接和 SQL 語句打交道,而是通過 Python 對象來操作數據庫,在舍棄一些性能開銷的同時,換來的是開發效率的較大提升
  • SQLAlchemy是一個關系型數據庫框架,它提供了高層的 ORM 和底層的原生數據庫的操作。flask-sqlalchemy 是一個簡化了 SQLAlchemy 操作的flask擴展。
  • 文檔地址:http://docs.jinkan.org/docs/flask-sqlalchemy

一、安裝

安裝 flask-sqlalchemy

pip install flask-sqlalchemy

如果連接的是 mysql 數據庫,需要安裝 mysqldb

pip install flask-mysqldb

提示:如果flask-mysqldb安裝不上,安裝, pip install pymysql

二、數據庫連接設置

  • 設置數據庫的鏈接地址,追蹤信息
  • 格式:mysql://<用戶名>:<密碼>@:<端口>/數據庫名稱

# 數據庫鏈接地址 app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:mysql@127.0.0.1:3306/test' # 動態追蹤修改設置,如未設置只會提示警告 app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True

查看映射的sql語句,設置: app.config[‘SQLALCHEMY_ECHO’] = True

  • 配置完成需要去 MySQL 中創建項目所使用的數據庫
$ mysql -uroot -pmysql $ create database test charset utf8;

三、其他配置信息

連接其他數據庫

完整連接 URI 列表請跳轉到 SQLAlchemy 下面的文檔 (Supported Databases) 。這里給出一些 常見的連接字符串。

  • Postgres:

postgresql://scott:tiger@localhost/mydatabase

  • MySQL:

mysql://scott:tiger@localhost/mydatabase

  • Oracle:

oracle://scott:tiger@127.0.0.1:1521/sidname

  • SQLite (注意開頭的四個斜線):

sqlite:absolute/path/to/foo.db

常用的SQLAlchemy字段類型

常用的SQLAlchemy列選項

常用的SQLAlchemy關系選項

四、代碼演示(定義數據模型)

from flask import Flask from flask_sqlalchemy import SQLAlchemyapp = Flask(__name__)# 數據庫鏈接地址 app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:root@127.0.0.1/flask_sql_demo' # 動態追蹤修改設置,如未設置只會提示警告,不建議開啟,未來版本中會移除 app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = Falsedb = SQLAlchemy(app)''' 兩張表 角色(管理員/普通用戶) 用戶(角色ID) '''# 數據庫的模型,需要繼承db.Model # 角色表 class Role(db.Model):# 定義表名__tablename__ = 'roles'# 定義字段# db.Column表示是一個字段id = db.Column(db.Integer,primary_key=True)name = db.Column(db.String(16),unique=True)# 用戶表 class User(db.Model):# 定義表名__tablename__ = 'users'# 定義字段id = db.Column(db.Integer, primary_key=True)name = db.Column(db.String(16), unique=True)# db.ForeignKey('roles.id')表示是外鍵,需要傳參數:表名.字段名role_id = db.Column(db.Integer,db.ForeignKey('roles.id'))@app.route('/')def index():return 'Hello flask!' if __name__ == '__main__':app.run(debug=True)

總結

以上是生活随笔為你收集整理的Web框架——Flask系列之Flask-SQLAlchemy安装与使用 定义数据模型(八)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。