peewee mysql 好用吗,用peewee MySQL metas查询现有数据库

我是peewee的新手,正在尝试查询配置单元安装使用的MySQL元存储数据库。我可以列出所有可用的表,但无法查询特定的表“TBLS”。这是一个标准的metastore表,它只存储metastore中所有表的信息。在

这是我迄今为止的代码:from peewee import *

metastore_db = MySQLDatabase("metastore", host="localhost", port=3306, user="root", passwd="")

metastore_db.connect()

tables = metastore_db.get_tables()

for tbl in tables:

print tbl

现在要查询表,我写了:

^{pr2}$

现在我得到这个错误-

peewee.操作错误:(1054,“字段列表”中的“t1.id”列未知)

我遗漏了什么,还是因为中的表名是大写的?我需要提到模型中的所有列吗?在

这是TBLS表的结构-mysql> desc TBLS;

+--------------------+--------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+--------------------+--------------+------+-----+---------+-------+

| TBL_ID | bigint(20) | NO | PRI | NULL | |

| CREATE_TIME | int(11) | NO | | NULL | |

| DB_ID | bigint(20) | YES | MUL | NULL | |

| LAST_ACCESS_TIME | int(11) | NO | | NULL | |

| OWNER | varchar(767) | YES | | NULL | |

| RETENTION | int(11) | NO | | NULL | |

| SD_ID | bigint(20) | YES | MUL | NULL | |

| TBL_NAME | varchar(128) | YES | MUL | NULL | |

| TBL_TYPE | varchar(128) | YES | | NULL | |

| VIEW_EXPANDED_TEXT | mediumtext | YES | | NULL | |

| VIEW_ORIGINAL_TEXT | mediumtext | YES | | NULL | |

+--------------------+--------------+------+-----+---------+-------+

谢谢你!在====================================================

EDIT: and UPDATE

====================================================

我可以通过添加类似这样的元信息来删除错误-class tbls(BaseModel):

tbl_id = PrimaryKeyField(db_column='TBL_ID')

create_time = IntegerField(db_column='CREATE_TIME')

db_id = IntegerField(db_column='DB_ID')

last_access_time = IntegerField(db_column='LAST_ACCESS_TIME')

owner = CharField(max_length=767,db_column='OWNER')

retention = IntegerField(db_column='RETENTION')

sd_id = IntegerField(db_column='SD_ID')

tbl_name = CharField(max_length=128,db_column='TBL_NAME')

tbl_type = CharField(max_length=128,db_column='TBL_TYPE')

class Meta:

db_table = 'TBLS'

tbl = tbls.select()

for t in tbl:

print t.owner,t.tbl_name

现在我可以检索所需的行。我的问题是,如果可能的话,如何在不必显式命名每个列的情况下获得表中的所有列(如select*)。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值