【问题标题】:Using COUNT to find number of rows in table in sqlite3使用 COUNT 在 sqlite3 中查找表中的行数
【发布时间】:2017-06-20 11:40:14
【问题描述】:

我尝试了各种方法,但我不断返回一个对象。

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 是否有一个原因?我的语法错了吗?

【问题讨论】:

标签: database sqlite count qsqlquery


【解决方案1】:

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

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

做:

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

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

cur.fetchall() 

【讨论】:

  • 或一行:cur.execute("SELECT Count(*) from FILMS").fetchone()
  • 非常感谢,我真的很感激 :)
猜你喜欢
  • 2011-06-26
  • 1970-01-01
  • 1970-01-01
  • 2023-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-01
相关资源
最近更新 更多