如果要检索保存在数据库表中的数据,则同样要从创建的数据库连接得到 Cursor 对象(游标对象),通过游标对象执行 Cursor 的 execute()方法来执行 SQL 选择(select)语句,告诉数据库引擎从哪个表里选择哪些列。再通过 Cursor 的 fetchall()方法来获得满足 select 子句的所有数据。fetchall()方法的返回值是一个元组序列,每个元组包含一条记录了由 select 子句指定的列的值。例如:
import sqlite3
db_filename = 'company.db'
with sqlite3.connect(db_filename) as conn:
cursor = conn.cursor()
cursor.execute("""
select id, name, date, salary from Employee
where department = 'Sell'
""")
for row in cursor.fetchall():
Employee_id, name, date, salary = row
print('{:2d} {:<25} ({}) [{:<8}] '.format(Employee_id, name, date, salary))
输出:
2 Zhang ping (2008-01-05) [7000.5 ]
3 Zhao qiang (2018-11-05) [6000.5 ]
也可以使用 fetchone()一次获得一条检索记录,或者使用 fetchmany()获得固定条目的记录。例如:
|