SQLAlchemy:连接关系数据库与面向对象编程的桥梁
1. SQLAlchemy简介
1.1 什么是SQLAlchemy
SQLAlchemy是Mike Bayer创建的一个Python库,它为Oracle、DB2、MySQL、PostgreSQL和SQLite等关系数据库提供了高级的、Python风格的接口。SQLAlchemy尽量不干扰现有的Python代码,允许将普通的Python对象(POPOs)映射到数据库表,而无需大幅修改代码。它包含独立于数据库服务器的SQL表达式语言和对象关系映射器(ORM),可自动使用SQL持久化应用程序对象。
1.2 与传统数据库接口对比
传统的Python数据库接口(如DB - API)在保存对象到数据库时,代码冗长、易出错且编写繁琐。例如:
sql="INSERT INTO user(user_name, password) VALUES (%s, %s)"
cursor = conn.cursor()
cursor.execute(sql, ('rick', 'parrot'))
这种使用字符串操作构建查询的方式可能导致逻辑错误和安全漏洞,如SQL注入攻击。例如:
sql="INSERT INTO user(user_name, password) VALUES ('%s', '%s')"
cursor = conn.cursor()
cursor.execute(sql % (user_name, pass
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



