使用COUNT查找sql​​ite3中表中的行数

时间:2017-06-20 11:40:14

标签: database sqlite count qsqlquery

我已经尝试了各种方法,但我不断收到一个对象。

import sqlite3

connection = sqlite3.connect('films.db')
cur = connection.cursor()

def createTable():

    connection.execute('CREATE TABLE IF NOT EXISTS FILMS(TITLE TEXT NOT NULL , YEAR INT NOT NULL,RATING INT NOT NULL,unique(TITLE))')
    connection.execute('INSERT OR IGNORE INTO FILMS VALUES(? , ? , ?)',('Middle Men','2010','6.6'))
    connection.execute("SELECT * FROM FILMS")

    row_count = cur.execute("SELECT Count(*) FROM FILMS")
    print(row_count)

    cur.close()
    connection.commit()
createTable()

当我打印计数时,我一直收到这个光标对象: sqlite3.Cursor对象位于0x027CE820 是否有一个原因?我的语法错了吗?

1 个答案:

答案 0 :(得分:0)

您正在获取整个对象。而不是:

    row_count = cur.execute("SELECT Count(*) FROM FILMS")

执行:

cur.execute("SELECT Count(*) FROM FILMS")
row_count = cur.fetchone()
print(row_count)

这将获得包含计数的行。如果您正在执行具有多行的选择,则可以执行

cur.fetchall()