使用Python编写的简单数据库管理工具
发布时间:2023-12-04 10:33:57
以下是一个使用Python编写的简单数据库管理工具的示例代码:
import sqlite3
class DatabaseManager:
def __init__(self, database_name):
self.conn = sqlite3.connect(database_name)
self.cursor = self.conn.cursor()
def create_table(self, table_name, columns):
columns_str = ', '.join(columns)
query = f"CREATE TABLE IF NOT EXISTS {table_name} ({columns_str})"
self.cursor.execute(query)
self.conn.commit()
def insert_row(self, table_name, values):
values_placeholder = ', '.join(['?' for _ in values])
query = f"INSERT INTO {table_name} VALUES ({values_placeholder})"
self.cursor.execute(query, values)
self.conn.commit()
def retrieve_rows(self, table_name, condition=None):
query = f"SELECT * FROM {table_name}"
if condition:
query += f" WHERE {condition}"
self.cursor.execute(query)
return self.cursor.fetchall()
def update_row(self, table_name, values, condition):
set_values = ', '.join([f"{col} = ?" for col in values])
query = f"UPDATE {table_name} SET {set_values} WHERE {condition}"
self.cursor.execute(query, values)
self.conn.commit()
def delete_row(self, table_name, condition):
query = f"DELETE FROM {table_name} WHERE {condition}"
self.cursor.execute(query)
self.conn.commit()
def close(self):
self.conn.close()
# 使用示例:
db_manager = DatabaseManager("example.db") # 创建数据库管理器
db_manager.create_table("students", ["id INT", "name TEXT", "age INT"]) # 创建表格
db_manager.insert_row("students", [1, "Alice", 20]) # 插入数据
db_manager.insert_row("students", [2, "Bob", 22])
db_manager.insert_row("students", [3, "Charlie", 21])
rows = db_manager.retrieve_rows("students") # 检索所有数据
for row in rows:
print(row)
db_manager.update_row("students", ["name", "age"], "id = 1", ["Alice Smith", 21]) # 更新数据
rows = db_manager.retrieve_rows("students")
for row in rows:
print(row)
db_manager.delete_row("students", "age = 22") # 删除数据
rows = db_manager.retrieve_rows("students")
for row in rows:
print(row)
db_manager.close() # 关闭数据库连接
在这个示例中,我们创建了一个DatabaseManager类,它封装了对SQLite数据库的常见操作。这个类包含以下方法:
- __init__:初始化方法,连接到指定的数据库。
- create_table:创建一个表格,接受表格名称和列作为参数。
- insert_row:向表格中插入一行数据,接受表格名称和值作为参数。
- retrieve_rows:检索表格中的数据,接受表格名称和可选的条件作为参数。
- update_row:更新表格中的数据,接受表格名称、要更新的列和条件作为参数。
- delete_row:从表格中删除数据,接受表格名称和条件作为参数。
- close:关闭数据库连接。
使用示例中的代码,我们创建了一个students表,其中有id、name和age三列。然后我们插入了一些数据,并进行了数据的检索、更新和删除操作。
这只是一个简单的数据库管理工具的示例,你可以根据自己的需求进行扩展和修改。
