SQLite 数据不会永久保存

    SQLite 数据不会永久保存

    在本文中,我们将介绍如何使用 Python 中的 sqlite3 模块来连接和操作 SQLite 数据库。SQLite 是一种嵌入式数据库,它是一种轻量级的数据库系统,可以直接在应用程序中使用,而无需启动一个独立的数据库服务器。然而,需要注意的是,SQLite 的数据默认情况下是不会永久保存的。当程序关闭后,数据会从内存中删除,除非我们明确地保存到磁盘上。

    阅读更多:SQLite 教程

    连接到 SQLite 数据库

    要连接到一个 SQLite 数据库,我们首先需要导入 sqlite3 模块,并使用 connect() 函数来连接到数据库文件。如果文件不存在,该函数会自动创建一个新的数据库文件。

    import sqlite3

    # 连接到数据库(如果不存在,则创建一个新的数据库文件)

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

    创建表格并插入数据

    一旦我们连接到了数据库,我们就可以在其中创建表格,并向表格中插入数据。下面的示例展示了如何创建一个 users 表格,并向其中插入一些用户数据。

    # 创建一个名为 'users' 的表格

    conn.execute('''CREATE TABLE users

    (id INT PRIMARY KEY NOT NULL,

    name TEXT NOT NULL,

    age INT NOT NULL,

    email CHAR(50),

    address TEXT);''')

    # 向 'users' 表格插入数据

    conn.execute("INSERT INTO users (id, name, age, email, address) \

    VALUES (1, 'John Doe', 25, 'johndoe@example.com', '123 Main St')")

    conn.execute("INSERT INTO users (id, name, age, email, address) \

    VALUES (2, 'Jane Smith', 30, 'janesmith@example.com', '456 Elm St')")

    查询数据

    使用 SQLite,我们可以通过执行 SQL 查询来从表格中检索数据。下面的示例展示了如何查询 users 表格中的所有数据,并将结果打印出来。

    # 查询 'users' 表格中的所有数据

    result = conn.execute("SELECT * FROM users")

    for row in result:

    print("ID:", row[0])

    print("Name:", row[1])

    print("Age:", row[2])

    print("Email:", row[3])

    print("Address:", row[4])

    保存更改到磁盘

    正如之前提到的,SQLite 的数据默认情况下是不会永久保存的。因此,如果我们想要将更改持久化到磁盘上,我们需要使用 commit() 方法。

    # 保存更改到磁盘

    conn.commit()

    总结

    SQLite 是一个方便和灵活的数据库系统,可以轻松地在 Python 中使用。通过 sqlite3 模块,我们可以连接到 SQLite 数据库,创建表格,插入数据,并进行查询操作。然而,需要注意的是,默认情况下,SQLite 数据不会永久保存,需要使用 commit() 方法将更改保存到磁盘上。对于需要永久保存数据的应用程序,我们建议使用其他数据库系统,如 MySQL 或 PostgreSQL。