📜  如何使用Python连接到驻留在内存中的 SQLite 数据库?

📅  最后修改于: 2022-05-13 01:55:34.774000             🧑  作者: Mango

如何使用Python连接到驻留在内存中的 SQLite 数据库?

在本文中,我们将学习如何使用Python将 SQLite 数据库连接连接到驻留在内存中的数据库。但首先让我们简要介绍一下什么是sqlite。

SQLite是一个轻量级的数据库软件库,提供了一个关系型数据库管理系统。通常,它是一个无服务器数据库,几乎可以在包括Python在内的所有编程语言中使用。无服务器数据库意味着它不需要单独的服务器进程来运行。

下图显示了 SQLite 无服务器架构:

图 1.1(SQLite 无服务器架构)

分步实施

第 1 步:导入 SQLite 模块

要首先使用Python将 SQLite 数据库连接连接到驻留在内存中的数据库,我们将在我们的编程中导入 SQLite,以便我们可以在我们的程序中使用它的库。



在程序中导入 SQLite 的语法:

import sqlite3

第 2 步:创建连接

在这一步中,我们将创建一个连接对象,它将我们连接到数据库并让我们执行 SQL 语句。要创建连接对象,我们将使用可以创建连接对象的connect()函数。 SQLite 库中提供了connect()函数

句法:

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

它将创建一个名为“gfgdatabase.db”的数据库并创建连接,并且还将创建一个名为“conn”的连接对象。下面是形成的 .db 文件:

图 1.2(内存中的 gfgdatabase)

第 3 步:在内存中创建数据库

我们可以创造 使用以下语法在内存中创建数据库。

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

它在 RAM 中创建一个名为“gfgdatabase.db”的数据库。



第 4 步:创建游标

在程序中要执行SQLite语句,我们需要一个游标对象。要创建游标,我们将使用cursor()方法。游标是连接对象的一个方法。要执行SQLite3 语句,首先要建立连接,然后使用连接对象创建游标对象。

句法:

cursor_object = connection.cursor()

第 5 步:从 SQLite 导入错误

如果在数据库创建和连接到内存时发生任何异常或运行时错误,则应进行处理。为了解决这个问题,我们将从 SQLite 导入 Error。

句法:

from sqlite3 import Error

第 6 步:最后关闭连接

一旦我们在第 2 步中创建了与 SQLite 的连接,然后在第 3 步中在 RAM 中创建了一个名为“gfgdatabase.db”的数据库,直到第 5 步,我们已经完成了将 SQLite 数据库连接连接到驻留的数据库的所有过程在记忆中。在这一步最后,我们将关闭连接。为此,我们将使用close()函数。

句法:

conn.close()

以下是基于上述方法的完整程序:

Python3
# import required modules
import sqlite3
from sqlite3 import Error as Err
 
# explicit function to connect  database
# that resides in the memory
def SQLite_connection():
 
    try:
        # connect to the databse
        conn = sqlite3.connect('gfgdatabase.db')
        print("Database connection is established successfully!")
         
        # connect a database connection to the
        # database that resides in the memory
        conn = sqlite3.connect(':memory:')
        print("Established database connection to a database\
        that resides in the memory!")
 
    # if any interruption or error occurs
    except Err: print(Err)
 
    # terminate the connection   
    finally: conn.close()
         
# function call       
SQLite_connection()


输出: