python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > flask数据库交互操作

flask与数据库的交互操作示例

作者:hellowoody

这篇文章主要为大家介绍了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()

以上就是flask与数据库的交互示例的详细内容,更多关于flask数据库交互的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文