python flaskフレームワークを使用してデータベースからデータの2つを読み出す(flask+mysql+flask_sqlalchemy)

8220 ワード

前にflaskフレームワークを使用してデータを読み取り、表示する方法を書いた後、sqlachemyの削除変更操作を再整理しました.この文章はすべてのステップを整理して、あなたが持つ価値があります.

目次:

  • 1.flask-sqlalchemy、pymysqlモジュール
  • のインストール
  • Flask-SQLAlchemyの紹介
  • 2.Mysqlデータベース
  • の構成
  • 3.モデル定義
  • 4.Flask-SQLAlchemyデータの増加、削除、変更、調査:
  • 1. 増加:
  • 2.クエリ
  • 3.修正
  • 4.削除
  • 1.flask-sqlalchemy、pymysqlモジュールのインストール

    pip install flask-sqlalchemy pymysql
    

    Flask-SQLAlchemyの紹介

  • ORM:Object Relationship Mapping(モデル関係マッピング).
  • flask-sqlalchemyはORMフレームワークです.
  • ORMのメリット:データベースを操作するのは操作対象と同じで、非常に便利です.1つのテーブルがクラスに抽象化されるため、1つのデータがクラスのオブジェクトに抽象化されます.
  • flask-sqlalchemy:sudo pip install flask-sqlalchemyを取り付けます.

  • 2.Mysqlデータベースの構成

    from flask.ext.sqlalchemy import SQLAlchemy
    from flask import Flask
    
    '''     '''
    app = Flask(__name__)
    app.config['SECRET_KEY'] ='hard to guess'
    
    #       root  ,        ,MySQL      3306,           jianshu,       \
    
    # http://docs.sqlalchemy.org/en/latest/dialects/mysql.html
    
    app.config['SQLALCHEMY_DATABASE_URI']='mysql+pymysql://jianshu:[email protected]:3306/jianshu'
    
    #                          
    
    app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN']=True
    #   
    db = SQLAlchemy(app)
    
    

    3.モデル定義

    '''    ,    '''
    class Role(db.Model):
        #     
       __tablename__ = 'roles'
        #      
        id = db.Column(db.Integer, primary_key=True)
        name = db.Column(db.String(64), unique=True)
        user = db.relationship('User', backref='role')
    
        #repr()           ,        ,               。
        def __repr__(self):
            return ' '.format(self.name)
    class User(db.Model):
        __tablename__ = 'users'
        id = db.Column(db.Integer, primary_key=True)
        username = db.Column(db.String(64), unique=True, index=True)
        role_id = db.Column(db.Integer, db.ForeignKey('roles.id')
    
        def __repr__(self):
    
            return ''.format(self.username)
    
    

    4.Flask-SQLAlchemyデータの増加、削除、変更、調査:


    1.追加:


    article1 = Article(title=‘aaa’,content=‘bbb’) db.session.add(article 1)トランザクションdb.session.commit()

    2.照会


    select * from article where article.title=‘aaa’; article1 = Article.query.filter(Article.title == ‘aaa’).first() print ‘title:%s’ % article1.title print ‘content:%s’ % article1.content

    3.修正

  • 変更するデータを検索してarticle 1=Article.query.filter(Article.title == ‘aaa’).first()
  • このデータを修正するには、article 1を修正する必要があります.title = ‘new title’
  • トランザクションのコミットdb.session.commit()

  • 4.削除

  • 削除するデータを検索するarticle 1=Article.query.filter(Article.content == ‘bbb’).first()
  • このデータをdbを削除します.session.delete(article1)
  • トランザクションコミットdb.session.commit()