Flask+SQLAlchemy+MySQL实现python项目的数据库操作

下载包

下载flask/pymysql/flask_sqlalchemy三个包

初始化数据库
#mysqlinit.py

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import pymysql
from sqlalchemy.dialects.mysql import LONGTEXT


pymysql.install_as_MySQLdb()

app = Flask(__name__)


class Config(object):
    """配置参数"""
    # 设置连接数据库的URL
    user = 'xxx'
    password = 'xxx'
    database = 'xxx'
    app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://%s:%s@127.0.0.1:3306/%s' % (user, password, database)

    # 设置sqlalchemy自动更跟踪数据库
    SQLALCHEMY_TRACK_MODIFICATIONS = True

    # 查询时会显示原始SQL语句
    app.config['SQLALCHEMY_ECHO'] = True

    # 禁止自动提交数据处理
    app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = False


# 读取配置
app.config.from_object(Config)

# 创建数据库sqlalchemy工具对象
db = SQLAlchemy(app)
创建对象
#mysqlinit.py

class xxxx(db.Model):
	#和类名相同
    __tablename__ = 'xxxx'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
	...
在app.py中调用数据库操作
from flask import request
from mytools.mysqlinit import *

#这里如果有app = Flask(__name__)要删掉

@app.route('/write')
def wtodatabase():
	#这里的xxxx表示实体对象
    db.session.add(xxxx)
    db.session.commit()
    return "yes"
查询操作
过滤器描述
filter()过滤出符合括号内条件的记录,使用“类名.属性名”的方式,比较使用两个等号“==”
filter_by()过滤出符合括号内条件的记录,使用“属性名”,比较使用一个等号“=”
order_by()按括号内条件对记录排序
group_by()按括号内条件对记录分组
执行器描述
all()以list形式返回所有符合条件的记录
first()返回符合条件的第一条记录
get()返回指定主键的记录
count()返回符合条件的记录数量
# 如果query后只有过滤器不会执行,要再加执行器
xxxx.query.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值