如何在Python中插入SQLite数据库中的数据?

  • Post category:Python

以下是在Python中插入SQLite数据库中的数据的完整使用攻略。

插入SQLite数据库中的数据简介

在Python中,可以使用sqlite3模块连接SQLite数据库,并使用INSERT INTO语句插入数据。插入数据时,可以使用VALUES子句指定要插入的值,也可以使用SELECT语句从其他表中选择要插入的值。

步骤1:导入模块

在Python中,使用sqlite3模块连接SQLite数据库。以下是导入sqlite3模块的基本语法:

import sqlite3

步骤2:连接数据库

在Python中,可以使用sqlite3模块连接SQLite数据库。以下是连接SQLite数据库的基本语法:

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

在上面的语法中,database_name.db是要连接的SQLite数据库文件名。

步骤3:创建游标对象

在Python中,可以使用cursor()方法创建游标对象。以下是创建游标对象的基本语法:

cursor = conn.cursor()

在上面的语法中,conn是连接到SQLite数据库对象。

步骤4:执行语句

在Python中,使用游标对象执行SQL语句。以下是执行SQL语句的基本语法:

cursor.execute("SQL语句")

在上面的语法中,SQL语句是要执行的SQL语句。

步骤5:提交更改

在Python中,可以使用commit()方法提交更改。以下是提交更改的基本语法:

conn.commit()

在上面的语法中,conn是连接到SQLite数据库对象。

步骤6:关闭连接

在Python中,可以使用close()方法关闭连接。以下是关闭连接的基本语法:

conn.close()

在上面的语法中,conn连接到SQLite数据库对象。

示例1

在这个示例中,我们使用Python连接到一个名为test.db的SQLite数据库,并向名为users的表中插入一条记录。

以下是Python代码:

import sqlite3

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

cursor = conn.cursor()

cursor.execute("INSERT INTO users (id, name, age) VALUES (1, 'John', 25)")

conn.commit()

print(cursor.rowcount, "record inserted")

conn.close()

在上面的代码中,我们首先使用sqlite3模块连接到SQLite数据库。然后,我们使用cursor()方法创建游标对象。下来,我们使用INSERT INTO语句将一条记录插入到users表中。我们使用execute()方法将一条记录插入到表中。最后,我们使用commit()方法提交更改,使用rowcount属性获取插入的记录数,并打印插入的记录数。最后,我们使用close()方法关闭连接。

示例2

在这个示例中,我们将使用Python连接到一个名为test.db的SQLite数据库,并向名为users的表中插入多条记录。

以下是Python代码:

import sqlite3

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

cursor = conn.cursor()

users = [(2, 'Peter', ),
         (3, 'Amy', 20),
         (4, 'Hannah', 35)]

cursor.executemany("INSERT INTO users (id, name, age) VALUES (?, ?, ?)", users)

conn.commit()

print(cursor.rowcount, "records inserted")

conn.close()

在上面的代码中,我们首先使用sqlite3模块连接到SQLite数据库。然后,我们使用cursor()方法创建游标对象。下来,我们定义一个包多条记录的列表。我们使用executemany()方法将多个记录插入到表中。最后,我们使用commit()方法提交更改,使用rowcount属性获取插入的记录数,并打印插入的记录数。最后,我们使用close()方法关闭连接。

以上是在Python中插入SQLite数据库中的数据的完整使用攻略,包括导入模块、连接数据库、创建游标对象、执行SQL语句、提交更改、关闭连接等步骤。同时,我们供了两个示例以便更好地理解如何在Python中插入SQLite数据库中的数据。