使用Python在SQLite数据库中插入数据

本教程介绍了Python内置的sqlite3 模块来创建一个SQLite数据库连接,创建一个表,并向该表插入数据。

使用sqlite3 模块将数据插入到一个使用 Python 的 SQLite 数据库中

我们必须遵循随后的步骤,在SQLite数据库表中插入数据。

  • 导入sqlite3 模块。
    import sqlite3
    

    它是一个内置的模块;我们不需要单独安装它。我们只需要导入它并使用它。

  • 创建SQLite数据库连接。
    connect= sqlite3.connect('test.db')
    

    .connect() 方法创建一个连接以连接指定的SQLite数据库;在我们的例子中,它是test.db 。你可以重新命名数据库名称,并牢记以下语法。

    sqlite3.connect('database_name.db')
    
  • 获取一个cursor 对象来执行SQL查询。
    cursor = connect.cursor()
    

    connect.cursor() 方法创建了一个cursor 对象,我们可以用它来执行SQL查询来操作指定的数据库,无论是关于创建表、插入数据、更新数据等。

  • 创建一个STUDENT 表。
    std_table ="""CREATE TABLE STUDENT( FIRSTNAME VARCHAR(255), LASTNAME VARCHAR(255));"""
    cursor.execute(std_table)
    

    在这里,我们首先设计我们的CREATE TABLE 查询,并将其保存在std_table 。接下来,我们将std_table 传递给cursor.execute() 方法,该方法执行指定的查询。

  • STUDENT 表插入数据。
    cursor.execute('''INSERT INTO STUDENT VALUES ('Mehvish', 'Ashiq')''')
    cursor.execute('''INSERT INTO STUDENT VALUES ('Raza', 'Tahir')''')
    cursor.execute('''INSERT INTO STUDENT VALUES ('Hina', 'Mukhtar')''')
    

    这里,我们使用cursor.execute() 方法来运行INSERT 查询。

    注意,在创建STUDENT 表时,我们不必将我们的查询存储在一个单独的变量中。不过,我们还是可以像上面的INSERT 语句那样,将SQL查询传递给cursor.execute() 方法。

  • 显示插入的数据。
    print("The 'STUDENT' Table Data:")
    table_data=cursor.execute('''SELECT * FROM STUDENT''')
    for row in table_data:
      print(row)
    

    同样,我们使用cursor.execute() 方法来运行SELECT 查询,并在table_data 中保存所有的表数据,我们将用它来循环并打印每一行。

    OUTPUT:

    The 'STUDENT' Table Data:
    ('Mehvish', 'Ashiq')
    ('Raza', 'Tahir')
    ('Hina', 'Mukhtar')
    
  • 提交并关闭连接。
    connect.commit()
    connect.close()
    

    .commit() 将提交我们当前选择的数据库中的最新变化,而.close() 将关闭连接。下面给出了完整的源代码。

完整的源代码

import sqlite3
connect= sqlite3.connect('test.db')
cursor = connect.cursor()
std_table ="""CREATE TABLE STUDENT( FIRSTNAME VARCHAR(255), LASTNAME VARCHAR(255));"""
cursor.execute(std_table)
cursor.execute('''INSERT INTO STUDENT VALUES ('Mehvish', 'Ashiq')''')
cursor.execute('''INSERT INTO STUDENT VALUES ('Raza', 'Tahir')''')
cursor.execute('''INSERT INTO STUDENT VALUES ('Hina', 'Mukhtar')''')
print("The 'STUDENT' Table Data:")
table_data=cursor.execute('''SELECT * FROM STUDENT''')
for row in table_data:
    print(row)
connect.commit()
connect.close()

OUTPUT:

The 'STUDENT' Table Data:
('Mehvish', 'Ashiq')
('Raza', 'Tahir')
('Hina', 'Mukhtar')