欢迎访问宙启技术站
智能推送

在Python的src(源码)中实现一个简单的数据库连接器。

发布时间:2023-12-18 02:23:20

在Python中,我们可以使用sqlite3模块来进行数据库连接。sqlite3是Python内置的轻量级数据库模块,可以直接在Python中使用,无需安装额外的软件。

import sqlite3

class DatabaseConnector:
    def __init__(self, db_name):
        self.db_name = db_name
        self.conn = None

    def connect(self):
        try:
            self.conn = sqlite3.connect(self.db_name)
            print("Connected to database successfully")
        except sqlite3.Error as e:
            print(f"Failed to connect to database: {e}")

    def execute_query(self, query):
        if self.conn is not None:
            try:
                cursor = self.conn.cursor()
                cursor.execute(query)
                self.conn.commit()
                print("Query executed successfully")
            except sqlite3.Error as e:
                print(f"Failed to execute query: {e}")
        else:
            print("Not connected to any database")

    def disconnect(self):
        if self.conn is not None:
            try:
                self.conn.close()
                print("Disconnected from database")
            except sqlite3.Error as e:
                print(f"Failed to disconnect from database: {e}")
        else:
            print("No database connection to disconnect")

# Example usage
db = DatabaseConnector("mydatabase.db")
db.connect()

create_table_query = """
    CREATE TABLE IF NOT EXISTS users (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        name TEXT NOT NULL,
        age INTEGER
    )
"""
db.execute_query(create_table_query)

insert_data_query = """
    INSERT INTO users (name, age)
    VALUES ('John', 30), ('Jane', 25)
"""
db.execute_query(insert_data_query)

select_data_query = """
    SELECT * FROM users
"""
result = db.execute_query(select_data_query)

for row in result.fetchall():
    print(row)

db.disconnect()

在上面的例子中,我们创建了一个DatabaseConnector类,其构造函数接受一个数据库名称作为参数。connect方法负责连接到数据库,使用sqlite3.connect函数来建立与数据库的连接。execute_query方法用于执行数据库查询语句,使用cursor.execute方法执行查询,并使用conn.commit进行提交。disconnect方法关闭与数据库的连接,使用conn.close方法来关闭连接。

在例子中,我们首先创建了一个名为users的表格,然后向表格插入了两条数据。接下来,我们执行了一个查询语句来获取所有users表格中的行,并打印了结果。

注意,在使用execute_query方法时,我们不仅可以执行查询语句,还可以执行其他修改数据库的语句,如插入、更新和删除等。

最后,我们调用disconnect方法来断开与数据库的连接。

通过这个简单的数据库连接器,我们可以方便地连接到数据库,执行查询和修改操作,以及关闭数据库连接。