繁体   English   中英

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

[英]difference in mysql editor select query and python program select query result

我正在执行从python程序到MySQL 5.2.39数据库的选择查询。 但是mysql编辑器选择查询和python程序选择查询的结果略有不同。 数据库名称是世界,表名称是wordcount,它有4列:id,author,word,count。 为什么那些L后缀出现在python结果中? 有人能说出原因吗? 即使我试图将整个长选择查询表达式放在我的python代码中的单行中,但仍然存在相同的问题。 我在Pydev中使用Eclipse。 以下是我的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

即使表示形式不同,它们也是相同的值。 L在Python <3中位于数字之后时,表示数字为long ,这是数字的一种特定类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM