mysql编辑器选择查询和python程序选择查询结果的区别

时间:2013-05-07 19:40:50

标签: python mysql select

我正在执行从python程序到MySQL 5.2.39数据库的select查询。但是mysql编辑器选择查询和python程序选择查询的结果略有不同。数据库名称为world,表名为wordcount,它有4列:id,author,word,count。 为什么那些L后缀出现在python结果中?任何人都可以说出原因是什么?甚至我试图在我的python代码中将整个长选择查询表达式放在一行但仍然是同样的问题。我正在使用Eclipse和Pydev。下面是我的python代码:

import MySQLdb as mdb
import sys
con = mdb.connect('localhost', 'root', '1234', 'world')
con.autocommit(True)
with con: 
    cur = con.cursor()
    cur.execute("select author,count(distinct word),count(distinct id) from \
        world.wordcount \
        group by author \
        having count(distinct word)<> count(distinct id) \
        order by author")

    rows = cur.fetchall()
    for row in rows:
        print row

来自python的示例结果:

('A  GONZ  LEZ', 18L, 19L)
('A  M  MORENO', 8L, 9L)

MySQL编辑器的示例结果:

A  GONZ  LEZ|18|19
A  M  MORENO| 8| 9

1 个答案:

答案 0 :(得分:1)

即使表示不同,它们也是相同的值。当L在Python中的数字后面时&lt; 3,这意味着该数字是long,这是一种特定类型的数字。