使用 COUNT 在 sqlite3 中查找 table 中的行数
Using COUNT to find number of rows in table in sqlite3
我尝试了各种方法,但我总是收到返回的对象。
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
是否有一个原因?我的语法错了吗?
您正在获取整个对象。而不是:
row_count = cur.execute("SELECT Count(*) FROM FILMS")
做:
cur.execute("SELECT Count(*) FROM FILMS")
row_count = cur.fetchone()
print(row_count)
这将获取其中包含计数的行。如果你正在做一个有多行的 select,你可以做
cur.fetchall()
我尝试了各种方法,但我总是收到返回的对象。
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 是否有一个原因?我的语法错了吗?
您正在获取整个对象。而不是:
row_count = cur.execute("SELECT Count(*) FROM FILMS")
做:
cur.execute("SELECT Count(*) FROM FILMS")
row_count = cur.fetchone()
print(row_count)
这将获取其中包含计数的行。如果你正在做一个有多行的 select,你可以做
cur.fetchall()