在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方法来断开与数据库的连接。
通过这个简单的数据库连接器,我们可以方便地连接到数据库,执行查询和修改操作,以及关闭数据库连接。
