优化代码def array_book(): # 创建游标 mycursor = mydb.cursor() # 执行查询操作 mycursor.execute("SELECT * FROM books") # 获取所有查询结果行 books_data = mycursor.fetchall() # 将查询结果转换为数组 for book_data in books_data: book = { "id": int(book_data[0]), # 序号 "btitle": book_data[1], # 书名 "bauthor": book_data[2], # 作者 "byu_data": book_data[3], # 出版时间 "bnumber": int(book_data[4]), # 总书籍数 "ISBN": book_data[5], # 书本编号 "type": book_data[6], # 书本类型 } books.append(book) print(books) mycursor.close()
时间: 2023-06-13 12:06:23 浏览: 64
apple_cursor::red_apple:macOS游标主题
可以将获取和转换数据的步骤合并,这样可以减少循环次数和内存开销,代码如下:
```python
def array_book():
# 创建游标
mycursor = mydb.cursor()
# 执行查询操作
mycursor.execute("SELECT id, btitle, bauthor, byu_data, bnumber, ISBN, type FROM books")
# 获取所有查询结果行并转换为数组
books_data = [{"id": int(row[0]), "btitle": row[1], "bauthor": row[2], "byu_data": row[3], "bnumber": int(row[4]), "ISBN": row[5], "type": row[6]} for row in mycursor.fetchall()]
# 关闭游标
mycursor.close()
# 打印结果
print(books_data)
return books_data
```
此外,如果查询结果比较大,可以通过分页查询的方式减少内存开销,具体可以参考数据库的分页查询语法和 Python 的分页查询库。
阅读全文