3---Flask-SQLAlchemy

Posted 六里路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3---Flask-SQLAlchemy相关的知识,希望对你有一定的参考价值。

3、Flask-SQLAlchemy

 (1)安装

pip 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()

 

以上是关于3---Flask-SQLAlchemy的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器

VSCode自定义代码片段——声明函数