>我尝试了各种方法,但我不断返回一个对象。
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.0x027CE820处的游标对象这有什么原因吗?我的语法有误吗?
您正在获取整个对象。 而不是:
row_count = cur.execute("SELECT Count(*) FROM FILMS")
做:
cur.execute("SELECT Count(*) FROM FILMS")
row_count = cur.fetchone()
print(row_count)
这将获取包含计数的行。 如果您正在执行具有多行的选择,则可以执行
cur.fetchall()