从数据库转储信息

时间:2015-01-24 23:03:42

标签: python mysql

我是Python新手,但我正在尝试从数据库中转储某些信息。我目前有以下内容:

import os,MySQLdb

db = MySQLdb.connect(read_default_file="/etc/my.cnf",read_default_group="mysql",db="DbName")

cursor = db.cursor()

sql = "select * from DatasetStatus"

try:
    print '\n Mysql> ' + sql
    cursor.execute(sql)
    results = cursor.fetchall()

    for row in results:
        incache = row[3]
        size = row[5]

    print "%s"% \
         (size)

except:
    print " Error ($s): unable to fetch data."%(sql)

db.close()

我需要访问数据集大小的打印"%s",但仅适用于"%i"等于1(意味着当前已缓存)的数据集。关于我如何处理这个问题的任何想法?

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,你的循环应该是:

for row in results:
    incache = row[3]
    if incache == 1:
        size = row[5]
        print size

即在循环中使用print并由if守护(我简化了print本身的巴洛克式不需要的结构,因为这种最简单的打印方式确实如此和你的复杂的东西完全一样,和Occam的Razor roolz - 但是,这与你的问题无关: - )。