php抓取网页数据插入数据库(Python一个python自带的轻量级数据库模块-sqlite3什么是SQLite )

优采云 发布时间: 2021-11-04 02:09

  php抓取网页数据插入数据库(Python一个python自带的轻量级数据库模块-sqlite3什么是SQLite

)

  Python作为数据科学的主流语言,被广泛用于数据的读取和存储、处理、分析和建模。可以说是万能的。

  数据一般存储在本地文件或数据库中。介绍了如何使用python读取本地文件,也对#PyMySQL、cx_Oracle等数据库连接库做了简单的使用和分享。

  这次推荐一个python自带的轻量级数据库模块-sqlite3。首先,我们必须弄清楚什么是 SQLite:

  ❝ SQLite 是一个用 C 语言编写的小型嵌入式数据库。它的数据库是一个文件。SQLite 不需要单独的服务器进程或操作系统,也不需要配置,这意味着它不需要安装或管理。维护来自 SQLite 软件本身。

  ❞

  

  sqlite3 模块与 PyMySQL 模块不同。PyMySQL 是 python 和 mysql 之间的通信通道。您需要在本地安装和配置 mysql 才能使用它。SQLite是python自带的数据库,不需要任何配置。您可以使用 sqlite3 模块来驱动它。

  在本文中,我们将执行连接 SQLite 数据库、创建表、插入数据、读取数据和修改数据等操作。

  1. 导入 sqlite3 模块

  sqlite3是内置模块,不需要安装,直接导入即可:

  import sqlite3

  2. 创建到 SQLite 数据库的连接

  使用 sqlite3.connect() 函数连接到数据库并返回一个 Connection 对象,我们通过它与数据库进行交互。数据库文件的格式为filename.db。如果数据库文件不存在,则会自动创建。数据库文件放在电脑硬盘中,可以自定义路径,后续操作产生的所有数据都会保存在这个文件中。

  # 创建与数据库的连接

conn = sqlite3.connect('test.db')

  也可以在内存中创建数据库,只要输入特殊参数值:memory:,数据库只存在于内存中,不会生成本地数据库文件。

  conn = sqlite3.connect(':memory:')

  与数据库建立连接后,需要创建一个游标对象。这个对象的.execute()方法可以执行sql命令,让我们可以进行数据操作。

  #创建一个游标 cursor

cur = conn.cursor()

  3. 在 SQLite 数据库中创建表

  这里我们要执行SQL建表语句,我们先创建一个学生成绩表如下-scores:

  

  该表目前只有字段名和数据类型,没有数据,执行如下语句实现:

  # 建表的sql语句

sql_text_1 = '''CREATE TABLE scores

(姓名 TEXT,

班级 TEXT,

性别 TEXT,

语文 NUMBER,

数学 NUMBER,

英语 NUMBER);'''

# 执行sql语句

cur.execute(sql_text_1)

  4. 插入数据到表中

  建好table-scores后,就只有表的骨架了。这时候需要向表中插入数据:

  

  执行以下语句插入单条数据:

  # 插入单条数据

sql_text_2 = "INSERT INTO scores VALUES('A', '一班', '男', 96, 94, 98)"

cur.execute(sql_text_2)

  执行以下语句插入多条数据:

  data = [('B', '一班', '女', 78, 87, 85),

('C', '一班', '男', 98, 84, 90),

]

cur.executemany('INSERT INTO scores VALUES (?,?,?,?,?,?)', data)

# 连接完数据库并不会自动提交,所以需要手动 commit 你的改动conn.commit()

  5. 查询数据

  我们已经建好了表,插入了三条数据,现在来查询特定条件下的数据:

  # 查询数学成绩大于90分的学生

sql_text_3 = "SELECT * FROM scores WHERE 数学>90"

cur.execute(sql_text_3)

# 获取查询结果

cur.fetchall()

  返回:

  

  备注:一般情况下,可以使用 .fetchone() 方法(获取第一项)获取查询结果,也可以使用 .fetchall() 方法(获取所有项)。

  6. 其他操作

  对数据库进行更改后(如创建表、插入数字等),需要手动提交更改,否则数据无法保存到数据库中。

  # 提交改动的方法

conn.commit()

  使用完数据库后,需要关闭游标和连接:

  # 关闭游标

cur.close()

# 关闭连接

conn.close()

  连接连接和游标的附加API方法

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线