如何在Python中安装sqlalchemy框架?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
1,安装
#进入虚拟环境 #执行 。/python3 -m  pip 安装
import sqlalchemy 打印(sqlalchemy.__version__), #, 1.1.15
我这里使用的版本是1.1.15
<强>创建连接对象强>
http://docs.sqlalchemy.org/en/latest/orm/tutorial.html连接
得到sqlalchemy import create_engine #,连接本地测试数据库 engine =, create_engine (“mysql://根:root@localhost/测试? charset=utf8")
运行时会出错,因为需要驱动库,默认会调用MySQLdb。
ImportError:没有模块命名& # 39;MySQLdb& # 39;
我们前面安装了pymysql,因此完整的要这么写:
engine =, create_engine (“mysql + pymysql://根:root@localhost/测试? charset=utf8")
<强>简单使用强>
SQL语句查询
result =, engine.execute (“select  *,得到news") print (result.fetchall ()) #[(1,& # 39;本机新闻标题& # 39;),,(2,& # 39;今天的新闻& # 39;),,(3),& # 39;新闻标题1 & # 39;),,(4,& # 39;新闻标题2 & # 39;),,(5,& # 39;元组新闻1 & # 39;),,(6,& # 39;元组新闻2 & # 39;)]
<强>创建映射强>
既然我们用ORM,就是为了少写甚至不写SQL语句。
ORM是数据表和对象之间的映射。
http://docs.sqlalchemy.org/en/latest/orm/tutorial.html declare-a-mapping
1,创建一个Infos.py文件,这个文件我们来做数据表的映射
得到sqlalchemy.ext.declarative import declarative_base 时间=Base declarative_base () 得到sqlalchemy import 列,,整数,字符串 class 新闻(基础): #才能,表名称 时间=__tablename__ 才能;& # 39;新闻# 39; #,新闻才能表里id字段 id 才能=,列(整数,,primary_key=True,,自动增量=True) #,新闻才能表标题里字段 title 才能=,列(字符串(长度=255),,可空=False)
新闻类就是我们数据表新闻的映射(字段:id、标题)。
2,使用
得到sqlalchemy import create_engine 得到mappers.Infos import 新闻 得到sqlalchemy.orm import  sessionmaker #,连接本地测试数据库 时间=engine create_engine (“mysql + pymysql://根:root@localhost/测试? charset=utf8") #,创建会话 时间=session sessionmaker(引擎) 时间=mySession 会话() #,查询结果集 时间=result mySession.query(新闻)() 打印(结果[0])
我们要注意最后的查询结果,看看结果集中的元素长什么样? ^ _ ^
& lt; mappers.Infos。新闻对象0 x1050c6e80>
引用>查询处理的记录都是对象。
<强>各种查询强>
<强>只查询第一条记录强>
#,查询第一条 时间=result mySession.query(新闻)当代() 打印(result.title), #打印对象属性<强>通过id字段查询强>
#,查询id为2的 时间=result mySession.query(新闻).filter_by (id=2)当代() 打印(result.title)#,查询id为2的 result =, mySession.query(新闻).filter (News.id==2)当代()<强>分页查询强>
#,分页查询,0,2 时间=result mySession.query(新闻).filter (News.id> 1) .limit (2) .offset (0) () print(结果)<>强自定义过滤条件强>
#,自定义过滤条件 result =, mySession.query(新闻).filter(文本(“id>: id")) .params (id=2)所有()<强>根据主键查询强>
result =, mySession.query(新闻). get (3) 打印(result.title)<强>新增和修改强>
#,新增 时间=news 新闻(title=靶略霾馐员晏狻? mySession.add(新闻) mySession.commit ()#修改 mySession.query(新闻).filter (News.id==7) .update ({“title":“修改之后的标题“}) mySession.commit ()关于如何在Python中安装sqlalchemy框架问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
如何在Python中安装sqlalchemy框架