flask笔记:flask与数据库的交互
官方推荐使用flask-sqlalchemy,但是这里我个人并不推荐。因为一般后台程序员其实更喜欢使用原生sql语言处理数据库的问题,更重要的一个原因是在项目上线后,处理一些运维问题时,如果可以查看sql语句可以更快找到问题。其次flask-sqlalchemy是在sqlalchemy基础上封装了一层,从编译的角度看效率上肯定会低一些(效率的影响也许微乎其微)。
基于以上原因,我推荐使用sqlalchemy进行开发。
下面的两种方式不仅限于flask,其实就是python对数据库操作的具体实现。
第一种方式(针对查询):
from sqlalchemy import create_engine,text #定义数据库属性 hostname = '127.0.0.1' port = '3306' database = 'dbname' username = 'root' pwd = 'pwd' dburl = 'mysql+mysqldb://{}:{}@{}:{}/{}'.format(username,pwd,hostname,port,database) #创建数据库连接对象 engine = create_engine(dburl,echo=True) with engine.connect() as con: rs = con.execute('SELECT 1') # con.execute(text("select 1 ")) for row in rs: print row
第二种方式(针对增删改,有事务):
from sqlalchemy import create_engine,text from sqlalchemy.orm import sessionmaker #定义数据库属性 hostname = '127.0.0.1' port = '3306' database = 'dbname' username = 'root' pwd = 'pwd' dburl = 'mysql+mysqldb://{}:{}@{}:{}/{}'.format(username,pwd,hostname,port,database) #创建数据库连接对象 engine = create_engine(dburl,echo=True) Session = sessionmaker(bind=engine) session = Session() session.execute("insert test values ('abc','123')") session.commit() session.close()
相关推荐
hzyuhz 2020-07-04
bestallen 2020-06-13
liuweiq 2020-06-14
朱建伟 2020-05-14
苦咖啡flask 2020-05-04
bestallen 2020-08-17
JessePinkmen 2020-07-26
washing 2020-07-18
hzyuhz 2020-06-28
hzyuhz 2020-06-25
苦咖啡flask 2020-06-25
苦咖啡flask 2020-06-25
苦咖啡flask 2020-06-18
washing 2020-06-16
wushaojun 2020-06-14
JessePinkmen 2020-06-14
kgshuo 2020-06-14