首页 > 解决方案 > 如何在sqlite3中选择一个组的所有信息

问题描述

我想从名为 Users 的数据库中获取有关一个用户的所有信息。该数据库中将有多个用户,重要的是它获取有关用户的正确信息。这就是我的数据库的创建方式。

def NewDataBase():
        cursor.execute('''
    CREATE TABLE IF NOT EXISTS user(
    userID INTEGER PRIMARY KEY,
    username VARCHAR(20) NOT NULL,
    firstname VARCHAR(20) NOT NULL,
    sirname VARCHAR(20) NOT NULL,
    password VARCHAR(20) NOT NULL,
    email VARCHAR(20) NOT NULL,
    recID VARCHAR(20) NOT NULL);
    ''')

然后我有这个

try:
    conn = sqlite3.connect("Users.db")
except:
    print("error")

"""
Query all rows in the users table
:param conn: the Connection object
:return: Connection object or None
"""
cur = conn.cursor()
cur.execute("SELECT * FROM user")

rows = cur.fetchall()

for row in rows:
    print(row)

我从中获取此数据

(1, 'NewuSer', 'new', 'uSer', 'new', 'new', '1111')
(2, 'g', 'g', 'g', 'g', 'g', 'g')

我如何能够使用第一个值(即用户名)选择其中一个行。

标签: databasepython-3.xsqlite

解决方案


下面的代码应该可以解决问题。

username = ('Dextron',)
cur = conn.cursor()
cur.execute('SELECT * FROM user WHERE username = ?', username)
user = cur.fetchone()

您可以在此处阅读有关 sqlite3 api的更多信息。


推荐阅读