如何在Python中安装sqlalchemy框架

如何在Python中安装sqlalchemy框架?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

1、安装

如何在Python中安装sqlalchemy框架

#进入虚拟环境
#执行
./python3-mpipinstall
importsqlalchemy
print(sqlalchemy.__version__)#1.1.15

我这里使用的版本是1.1.15

创建连接对象

http://docs.sqlalchemy.org/en/latest/orm/tutorial.html#connecting

fromsqlalchemyimportcreate_engine
#连接本地test数据库
engine=create_engine("mysql://root:root@localhost/test?charset=utf8")

运行时会出错,因为需要驱动库,默认会调用MySQLdb。

ImportError: No module named 'MySQLdb'

我们前面安装了pymysql,因此完整的要这么写:

engine=create_engine("mysql+pymysql://root:root@localhost/test?charset=utf8")

简单使用

SQL语句查询

result=engine.execute("select*fromnews")
print(result.fetchall())
#[(1,'本机新闻标题'),(2,'今天的新闻'),(3,'新闻标题1'),(4,'新闻标题2'),(5,'元组新闻1'),(6,'元组新闻2')]

创建映射

既然我们用ORM,就是为了少写甚至不写SQL语句。

ORM是数据表和对象之间的映射。

http://docs.sqlalchemy.org/en/latest/orm/tutorial.html#declare-a-mapping

1、创建一个Infos.py文件,这个文件我们来做数据表的映射

fromsqlalchemy.ext.declarativeimportdeclarative_base
Base=declarative_base()
fromsqlalchemyimportColumn,Integer,String
classNews(Base):
#表名称
__tablename__='news'
#news表里id字段
id=Column(Integer,primary_key=True,autoincrement=True)
#news表里title字段
title=Column(String(length=255),nullable=False)

News类就是我们数据表news的映射(字段:id、title)。

2、使用

fromsqlalchemyimportcreate_engine
frommappers.InfosimportNews
fromsqlalchemy.ormimportsessionmaker
#连接本地test数据库
engine=create_engine("mysql+pymysql://root:root@localhost/test?charset=utf8")
#创建会话
session=sessionmaker(engine)
mySession=session()
#查询结果集
result=mySession.query(News).all()
print(result[0])

我们要注意最后的查询结果,看看结果集中的元素长什么样?^_^

<mappers.Infos.News object at 0x1050c6e80>

查询处理的记录都是对象。

各种查询

只查询第一条记录

#查询第一条
result=mySession.query(News).first()
print(result.title)#打印对象属性

通过id字段查询

#查询id为2的
result=mySession.query(News).filter_by(id=2).first()
print(result.title)
#查询id为2的
result=mySession.query(News).filter(News.id==2).first()

分页查询

#分页查询0,2
result=mySession.query(News).filter(News.id>1).limit(2).offset(0).all()
print(result)

自定义过滤条件

#自定义过滤条件
result=mySession.query(News).filter(text("id>:id")).params(id=2).all()

根据主键查询

result=mySession.query(News).get(3)
print(result.title)

新增和修改

#新增
news=News(title="新增测试标题")
mySession.add(news)
mySession.commit()
#修改
mySession.query(News).filter(News.id==7).update({"title":"修改之后的标题"})
mySession.commit()

关于如何在Python中安装sqlalchemy框架问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注恰卡编程网行业资讯频道了解更多相关知识。

发布于 2021-03-02 23:49:55
收藏
分享
海报
0 条评论
195
上一篇:如何在python中安装pygame 下一篇:怎么在python3.5中安装python3-tk扩展
目录

    推荐阅读

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码