您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關用flask鏈接mysql數據庫的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。具體步驟如下:
1.創建一個連接對象
首先下載flask_sqlalchemy 包,然后設置用于連接數據庫的URI,
app.config['SQLALCHEMY_DATABASE_URI']='mysql://用戶名:密碼@127.0.0.1:3306/數據庫名'
創建用來管理數據庫的對象,注意參數需要和app產生聯系
db = SQLAlchemy(app)
2.創建模型
這里創建一個簡單的用戶模型
class User(db.Model): __tablename__='user' id = db.Column(db.Integer,primary_key=True) name = db.Column(db.String(20),unique=True) is_delete = db.Column(db.Boolean,default=False) email = db.Column(db.String(30),nullable=True) def __repr__(self): return self.name
3.創建數據表
if __name__ == '__main__':
# 遷移數據庫
db.create_all()
from flask import Flask from flask_sqlalchemy import SQLAlchemy # 還需要安裝pymysql庫# 初始化app app = Flask(__name__) # 連接數據庫 app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:123456@localhost/python_db' # SQLALCHEMY_DATABASE_URI# 用于連接數據的數據庫。 # SQLALCHEMY_TRACK_MODIFICATIONS # 如果設置成 True (默認情況), # Flask-SQLAlchemy 將會追蹤對象的修改并且發送信號。 # 這需要額外的內存, 如果不必要的可以禁用它。 app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True # 得到SQLAlchemy對象db = SQLAlchemy(app, use_native_unicode='utf8') # 然后創建model對象 class User(db.Model): __tablename__ = 'user_list' #(設置表名) id = db.Column(db.Integer, primary_key=True) #(設置主鍵) username = db.Column(db.String(255), unique=True) password = db.Column(db.String(255), unique=True) # 返回一個可以用來表示對象的可打印字符串:(相當于java的toString) def __repr__(self): return '<User 用戶名:%r 密碼:%r>' % (self.username, self.password)# 操作數據庫 # 增def add_object(user): db.session.add(user) db.session.commit() print("添加 % r 完成" % user.__repr__) user = User() user.username = '占三' user.password = '123456'add_object(user) # 查 (用到and的時候需要導入庫from sqlalchemy import and_)def query_object(user, query_condition_u, query_condition_p): result = user.query.filter(and_(user.username == query_condition_u, user.password == query_condition_p)) print("查詢 % r 完成" % user.__repr__) return result # 刪 def delete_object(user): result = user.query.filter(user.username == '11111').all() db.session.delete(result) db.session.commit() #改 def update_object(user): result = user.query.filter(user.username == '111111').all() result.title = 'success2018'
關于用flask鏈接mysql數據庫的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。