Python提供了许多库,可以方便地操作各种类型的数据库,包括SQLite,MySQL,PostgreSQL等。在这个章节中,我们将以SQLite为例,介绍如何使用Python进行数据库操作。
SQLite
SQLite是一个轻量级的数据库,它的数据库就是一个文件,非常适合小型应用。
Python的标准库中包含了sqlite3
模块,你可以使用它来操作SQLite数据库。
连接到数据库
你可以使用sqlite3.connect
函数来连接到一个数据库。如果数据库不存在,SQLite将创建一个新的数据库。
import sqlite3
conn = sqlite3.connect('example.db')
在这个例子中,我们连接到一个名为'example.db'的数据库。
创建表
你可以使用cursor.execute
方法来执行SQL命令。
以下是一个创建表的例子:
cursor = conn.cursor()
cursor.execute('''
CREATE TABLE stocks (
date text,
trans text,
symbol text,
qty real,
price real
)
''')
在这个例子中,我们创建了一个名为'stocks'的表,它包含五个字段:date,trans,symbol,qty和price。
插入数据
你可以使用cursor.execute
方法来插入数据。
以下是一个插入数据的例子:
cursor.execute("INSERT INTO stocks VALUES ('2006-01-05','BUY','RHAT',100,35.14)")
在这个例子中,我们向'stocks'表中插入了一行数据。
你也可以使用?
作为占位符,然后提供一个元组作为execute
方法的第二个参数:
data = ('2006-03-28', 'BUY', 'IBM', 1000, 45.00)
cursor.execute("INSERT INTO stocks VALUES (?,?,?,?,?)", data)
这是一个更安全的做法,它可以防止SQL注入攻击。
查询数据
你可以使用cursor.execute
方法来查询数据,然后使用cursor.fetchall
或cursor.fetchone
方法来获取查询结果。
以下是一个查询数据的例子:
cursor.execute("SELECT * FROM stocks WHERE symbol = 'RHAT'")
print(cursor.fetchall())
在这个例子中,我们查询了所有symbol为'RHAT'的记录。
提交事务
在SQLite中,你的修改在提交事务之前不会被保存。你可以使用connection.commit
方法来提交事务:
conn.commit()
关闭连接
完成所有操作后,你应该关闭连接。你可以使用connection.close
方法来关闭连接:
conn.close()
这就是Python操作SQLite数据库的基本知识。现在,你可以尝试使用这些知识来存储你爬取的数据了。
推荐阅读:
https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA
https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。