数据库查询三种方式

第二种:使用python的框架flask和sqlalchemy进行更新

#-*-coding:utf-8-*-
fromflaskimportFlask
fromflask_sqlalchemyimportSQLAlchemy
fromsqlalchemy.sqlimporttext
HOST='127.0.0.1'
USER="root"
PASSWD="123456"
DB="carrier_test"
CHARTSET="utf8"
app=Flask(__name__,instance_relative_config=True)
#链接数据库路径
app.config['SQLALCHEMY_DATABASE_URI']='mysql://%s:%s@127.0.0.1:3306/%s?charset=%s'%(USER,PASSWD,DB,CHARTSET)
#如果设置成True(默认情况),Flask-SQLAlchemy将会追踪对象的修改并且发送信号。这需要额外的内存,如果不必要的可以禁用它。
app.config['SQLALCHEMY_TRACK_MODIFICATIONS']=True
#如果设置成True,SQLAlchemy将会记录所有发到标准输出(stderr)的语句,这对调试很有帮助。
app.config['SQLALCHEMY_ECHO']=False
#数据库连接池的大小。默认是数据库引擎的默认值(通常是5)。
app.config['SQLALCHEMY_POOL_SIZE']=6
db=SQLAlchemy(app)
classTable_one(db.Model):
__tablename__='table_one'
id=db.Column('id',db.Integer,primary_key=True,autoincrement=True)
com_name=db.Column('com_name',db.String(30),nullable=False)
com_about=db.Column('com_about',db.String(200),nullable=False)
def__repr__(self):
return''%self.com_name
classTable_two(db.Model):
__tablename__='table_two'
id=db.Column('id',db.Integer,primary_key=True,autoincrement=True)
reason=db.Column('reason',db.String(128),nullable=True)
create_time=db.Column('create_time',db.TIMESTAMP,server_default=text('now()'))
status=db.Column('status',db.Integer,nullable=False,default=0)
def__repr__(self):
return''%self.id
defdb_commit_all(lists):
try:
db.session.add_all(lists)
db.session.commit()
return'SUCCESS'
exceptException,e:
return'Fail!!!'
defcommits_to_three_judge():
com_sta_obj=Table_one.query.filter_by(com_name='只是测试使用,不用关心表间关系').all()
foriteincom_sta_obj:
ship_obj=Table_two.query.filter_by(id=ite.id).first()
ifship_obj:
ifint(ship_obj.status)==2:
ite.status=0
printdb_commit_all([ite])
print'表同步结束'
64
if__name__=='__main__':
#执行更新数据库函数
commits_to_three_judge()

两种方式对比:

1.在实际项目中,数据库的更新需要用到很多相关函数进行数据的收集,判断是否满足条件等,而这些相关函数在项目中都是用Sqlalchemy进行数据相关操作,比如第二种方法里的db_commit_all()函数

2.使用第二种方法,直接复制这些函数到脚本中即可,如果使用第一种方法,则需要重写相关函数,增加开发时间,浪费精力。

3.如果项目中是使用flask进行开发,推荐使用第二种方法进行数据库更新。

总结

以上所述是小编给大家介绍的Python更新数据库脚本两种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!

热门推荐

1 朋友至上蛋糕祝福语简短
2 虎年春节祝福语图文简短
3 高考祝福语简短喜庆句子
4 商场店庆简短祝福语
5 网络赚钱祝福语大全简短
6 美容公司周年祝福语简短
7 祝福语毕业赠言简短英文
8 贺卡文案同事祝福语简短
9 转正寄语祝福语大全简短
10 香港老妈结婚祝福语简短
11 毕业立体贺卡祝福语简短
12 简短新年年会祝福语
13 评论小品祝福语大全简短
14 恭喜师兄结婚祝福语简短
15 员工集体辞职祝福语简短
16 高中新生祝福语 简短
17 装修祝福语男生搞笑简短
18 生日开业蛋糕祝福语简短