python之flask_sqlalchemy链接数据库(二)

前面讲了链接库时遇到的一些问题,下面贴出代码,以供后面继续学习

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy import Column
from sqlalchemy import Integer
from sqlalchemy import String
import mysql.connector
import dns.resolver

#创建flask对象
app = Flask(__name__)

#配置flask配置对象中键:SQLALCHEMY_DATABASE_URI

app.config['SQLALCHEMY_DATABASE_URI'] = "mysql+mysqlconnector://user:password@host/test?charset=utf8"

#配置flask配置对象中键:SQLALCHEMY_COMMIT_TEARDOWN,设置为True,应用会自动在每次请求结束后提交数据库中变动

app.config['SQLALCHEMY_COMMIT_TEARDOWN'] = True
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True

#获取SQLAlchemy实例对象,接下来就可以使用对象调用数据

db = SQLAlchemy(app)
#创建模型对象
class admin(db.Model):
    id = Column(Integer,primary_key=True)
    number = Column(String)
    name = Column(String)

data = admin.query.filter_by(number = 'admin').first() #条件查询
print ('%s'%data.id + '--' + '%s'%data.number + '--' + '%s'%data.name)

打印结果:1–admin–管理员

或者使用以下代码:

from sqlalchemy import Column
from sqlalchemy import Integer
from sqlalchemy import String
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
import mysql.connector

Base = declarative_base()

engine = create_engine('mysql+mysqlconnector://root:scw729295@127.0.0.1/test')
DBSession = sessionmaker(bind=engine)
session = DBSession()

class admin(Base):
    __tablename__ = 'admin'
    id = Column(Integer,primary_key=True)
    number = Column(String)
    name = Column(String)

admin = session.query(admin).all()
for i in admin:
    print ('%s'%i.id + '--' + '%s'%i.number + '--' + '%s'%i.name)

打印结果:1–admin–管理员

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_34096214

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值