zoukankan      html  css  js  c++  java
  • flask之SQLAlchemy

    1.安装

    pip3 install flask_sqlalchemy

    2.连接数据库

     
    from flask import Flask
    # 1.导入
    from flask_sqlalchemy import SQLAlchemy
    
    app = Flask(__name__)
    #2.定义要连接的数据库
    DB_URI = "mysql+pymysql://root:123456@127.0.0.1:3306/learn_sqlalchemy?charset=utf8"
    #3.添加到到配置中
    app.config['SQLALCHEMY_DATABASE_URI'] = DB_URI
    app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] =False
    # 4.实例化一个对象,将app传进去 db = SQLAlchemy(app) @app.route('/') def hello_world(): return 'Hello World!' if __name__ == '__main__': app.run()

    (3)创建表

    from flask import Flask
    from flask_sqlalchemy import SQLAlchemy
    
    app = Flask(__name__)
    DB_URI = "mysql+pymysql://root:123456@127.0.0.1:3306/learn_sqlalchemy?charset=utf8"
    app.config['SQLALCHEMY_DATABASE_URI'] = DB_URI
    app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
    db = SQLAlchemy(app)
    
    class User(db.Model):
        __tablename__ = 'user'
        id = db.Column(db.Integer,primary_key=True,autoincrement=True)
        username = db.Column(db.String(50),nullable=False)
    
    
    class Article(db.Model):
        __tablename__ = "article"
        id = db.Column(db.Integer, primary_key=True, autoincrement=True)
        title = db.Column(db.String(50), nullable=False)
        uid = db.Column(db.Integer,db.ForeignKey("user.id"))
        author = db.relationship("User",backref='article')
    
    db.drop_all()         #删除表
    db.create_all()       #创建表
    
    
    @app.route('/')
    def hello_world():
        return 'Hello World!'
    
    if __name__ == '__main__':
        app.run()
     

    (4)添加数据

     
    from flask import Flask
    from flask_sqlalchemy import SQLAlchemy
    
    app = Flask(__name__)
    DB_URI = "mysql+pymysql://root:123456@127.0.0.1:3306/learn_sqlalchemy?charset=utf8"
    app.config['SQLALCHEMY_DATABASE_URI'] = DB_URI
    app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
    db = SQLAlchemy(app)
    
    class User(db.Model):
        __tablename__ = 'user'
        id = db.Column(db.Integer,primary_key=True,autoincrement=True)
        username = db.Column(db.String(50),nullable=False)
    
    
    class Article(db.Model):
        __tablename__ = "article"
        id = db.Column(db.Integer, primary_key=True, autoincrement=True)
        title = db.Column(db.String(50), nullable=False)
        uid = db.Column(db.Integer,db.ForeignKey("user.id"))
        author = db.relationship("User",backref='article')
    
    # db.drop_all()         #删除表
    # db.create_all()       #创建表
    
    #添加数据
    user = User(username='derek')
    article = Article(title='今天5/27号')
    article.author = user
    
    db.session.add(article)
    db.session.commit()
    
    
    @app.route('/')
    def hello_world():
        return 'Hello World!'
    
    if __name__ == '__main__':
        app.run()
     

    (5)查看、修改和删除

     
    from flask import Flask
    from flask_sqlalchemy import SQLAlchemy
    
    app = Flask(__name__)
    DB_URI = "mysql+pymysql://root:123456@127.0.0.1:3306/learn_sqlalchemy?charset=utf8"
    app.config['SQLALCHEMY_DATABASE_URI'] = DB_URI
    app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
    db = SQLAlchemy(app)
    
    class User(db.Model):
        __tablename__ = 'user'
        id = db.Column(db.Integer,primary_key=True,autoincrement=True)
        username = db.Column(db.String(50),nullable=False)
    
        def __repr__(self):
            return "<username:%s>"%self.username
    
    class Article(db.Model):
        __tablename__ = "article"
        id = db.Column(db.Integer, primary_key=True, autoincrement=True)
        title = db.Column(db.String(50), nullable=False)
        uid = db.Column(db.Integer,db.ForeignKey("user.id"))
        author = db.relationship("User",backref='article')
    
    # db.drop_all()         #删除表
    # db.create_all()       #创建表
    
    # 1.添加数据
    # user = User(username='derek')
    # article = Article(title='今天5/27号')
    # article.author = user
    #
    # db.session.add(article)
    # db.session.commit()
    
    # 2.查询数据
    # users=User.query.all()
    # print(users)
    
    # 3.修改数据,先查找出来再修改
    # user = User.query.filter(User.username=='derek').first()
    # user.username = 'jack'
    # db.session.commit()
    
    # 4.删除数据
    user = User.query.filter(User.username=='jack').first()
    db.session.delete(user)
    db.session.commit()
    
    @app.route('/')
    def hello_world():
        return 'Hello World!'
    
    if __name__ == '__main__':
        app.run()
     
  • 相关阅读:
    正则表达式语法介绍
    关系型数据库和非关系型数据库的简单对比
    lambda函数
    java基础系列--Exception异常处理
    springBoot基础系列--properties配置
    spring基础系列--JavaConfig配置
    java基础系列--Calendar类
    java基础系列--Date类
    一个特殊的List去重问题的解决方案
    Java学习笔记
  • 原文地址:https://www.cnblogs.com/caodneg7/p/10101169.html
Copyright © 2011-2022 走看看