(1)应用程序连接并打开数据库,(2)游标的定义、打开、关闭,(3)书写SQL语句(SQLString),(4)字符串型SQL语句的执行,(5)游标数据的读写处理,读写游标数据(即数据表中的数据)形成列表数据结构StudentList, CourseList和SCList,为下一节的输出奠定基础。
时间: 2023-05-29 12:05:26 浏览: 108
关于sql游标的使用教程及案例
1. 应用程序连接并打开数据库:
在Python中,可以使用`sqlite3`模块来连接和操作SQLite数据库。以下是连接并打开数据库的示例代码:
```python
import sqlite3
conn = sqlite3.connect("example.db") # 连接数据库
c = conn.cursor() # 创建游标
```
上述代码中,`example.db`是数据库文件名,如果该文件不存在,则会自动创建一个新的数据库文件。
2. 游标的定义、打开、关闭:
游标是一个指向数据库中某个数据行的指针,可以用来遍历查询结果或者执行修改操作。在Python中,可以使用`cursor()`方法来创建游标对象,使用`execute()`方法来执行SQL语句。
以下是游标的定义、打开、关闭的示例代码:
```python
import sqlite3
conn = sqlite3.connect("example.db") # 连接数据库
c = conn.cursor() # 创建游标
c.execute("SELECT * FROM students") # 执行SQL语句
# 处理查询结果
c.close() # 关闭游标
conn.close() # 关闭数据库连接
```
3. 书写SQL语句(SQLString):
SQL语句是用来操作数据库的命令,例如查询数据、插入数据、更新数据、删除数据等。在Python中,可以使用字符串来表示SQL语句,然后使用游标的`execute()`方法来执行。
以下是一个查询所有学生信息的SQL语句示例:
```python
sql = "SELECT * FROM students"
```
4. 字符串型SQL语句的执行:
在Python中,可以使用游标的`execute()`方法来执行SQL语句。执行完毕后,可以通过游标的`fetchall()`方法来获取查询结果。
以下是执行SQL语句的示例代码:
```python
import sqlite3
conn = sqlite3.connect("example.db") # 连接数据库
c = conn.cursor() # 创建游标
sql = "SELECT * FROM students" # SQL语句
c.execute(sql) # 执行SQL语句
result = c.fetchall() # 获取查询结果
print(result) # 输出查询结果
c.close() # 关闭游标
conn.close() # 关闭数据库连接
```
5. 游标数据的读写处理:
读写游标数据是将查询结果转换为Python中的列表数据结构,以便于后续的处理。可以通过循环遍历游标的`fetchall()`方法返回的结果,将每一行数据转换为一个字典对象,然后将这些字典对象添加到列表中。
以下是一个将查询结果转换为列表数据结构的示例代码:
```python
import sqlite3
conn = sqlite3.connect("example.db") # 连接数据库
c = conn.cursor() # 创建游标
sql = "SELECT * FROM students" # SQL语句
c.execute(sql) # 执行SQL语句
results = c.fetchall() # 获取查询结果
student_list = [] # 存储学生信息的列表
for row in results:
student = {
"id": row[0],
"name": row[1],
"age": row[2],
"gender": row[3]
}
student_list.append(student)
c.close() # 关闭游标
conn.close() # 关闭数据库连接
print(student_list) # 输出学生信息列表
```
以上代码中,`results`是一个元组类型的对象,每个元素表示一行数据。使用循环遍历每一行数据,将每一行数据转换为字典对象,然后添加到`student_list`列表中。最终,`student_list`列表中存储了所有学生信息。
阅读全文