sqlalchemy学习日志

最近学习sqlalchemy框架,可我没能发现一篇通俗易懂的博文,毕竟本人新手小白还不能理解大神的世界,注释就草草几行全无程序员节操。经过一整天的Traceback和各种error我总算是摸索到一点门路,慌忙整理下以免明早起来又忘了。


导入


>>> from sqlalchemy import *
>>> from sqlalchemy.orm import *

建立数据库引擎


>>> engine = create_engine('mysql://root:4QSJQCRC@localhost/testdb',echo=True)

>>> metadata = MetaData()

#create_engine()里的格式为:create_engine('数据库://数据库用户名:密码@主机名/要用的数据库名',echo=True)     这里的echo我没做研究,反正让他 =True

#主机名后面也可以加端口号:@localhost:XXXX/testdb,也可省略

#网上看到的文章尽是以sqlite数据库为范例的,我都怀疑那些大拿是不是ctrl c,ctrl d的。自带的文档也讲的不清楚,这步就卡了我很久

#metadata这条我也不太懂,反正是绑定到数据库引擎,调用其中的一些命令可以对数据库作出相应操作


定义表


>>> users_table = Table('users',metadata,
... Column('id',Integer,primary_key=True),
... Column('name',String(40)),
... Column('fullname',String(40)),
... Column('password',String(40))
... )

#这里只是定义,而并不是真的就在数据库建立了一个表

#记住Table的格式就行,String就是sql里的varchar,网上的文章都可以直接写String而不用加字符长度,可我机子上不行,直接

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 SQLAlchemy 中显示查询日志,可以通过以下步骤进行设置: 1. 导入 logging 模块。 2. 获取 SQLAlchemy日志记录器对象,并设置它的日志级别为 DEBUG。 3. 创建一个 StreamHandler 对象,用于将日志输出到控制台。可以设置其日志级别为 INFO,以控制日志的输出量。 4. 将 StreamHandler 对象添加到日志记录器中。 下面是一个示例代码,可以将 SQLAlchemy 的查询日志输出到控制台: ```python import logging from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker # 获取 SQLAlchemy日志记录器对象 logger = logging.getLogger('sqlalchemy.engine') # 设置日志级别为 DEBUG logger.setLevel(logging.DEBUG) # 创建 StreamHandler 对象,用于将日志输出到控制台 handler = logging.StreamHandler() # 设置日志级别为 INFO,以控制日志的输出量 handler.setLevel(logging.INFO) # 将 StreamHandler 对象添加到日志记录器中 logger.addHandler(handler) # 创建数据库引擎和会话工厂 engine = create_engine('sqlite:///example.db') Session = sessionmaker(bind=engine) # 创建会话对象,并执行查询 session = Session() session.query(MyModel).all() ``` 在上面的代码中,我们首先获取了 SQLAlchemy日志记录器对象,并设置其日志级别为 DEBUG。然后创建了一个 StreamHandler 对象,并设置其日志级别为 INFO,最后将其添加到日志记录器中。这样,在执行查询时,就会将查询的日志信息输出到控制台中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值