使用Python编写一个简单的数据库管理程序
发布时间:2023-12-04 12:03:01
以下是一个简单的数据库管理程序的Python示例代码:
import sqlite3
def create_database():
conn = sqlite3.connect('mydatabase.db') # 连接到数据库文件
c = conn.cursor() # 创建游标对象
# 创建表
c.execute('''CREATE TABLE IF NOT EXISTS employees
(id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER NOT NULL,
salary REAL);''')
# 插入示例数据
employees = [('John Doe', 25, 5000),
('Jane Smith', 30, 6000),
('Adam Johnson', 35, 7000)]
c.executemany('INSERT INTO employees (name, age, salary) VALUES (?, ?, ?)', employees)
# 提交并关闭连接
conn.commit()
conn.close()
def add_employee(name, age, salary):
conn = sqlite3.connect('mydatabase.db')
c = conn.cursor()
# 插入新雇员信息
c.execute("INSERT INTO employees (name, age, salary) VALUES (?, ?, ?)",
(name, age, salary))
# 提交并关闭连接
conn.commit()
conn.close()
def delete_employee(employee_id):
conn = sqlite3.connect('mydatabase.db')
c = conn.cursor()
# 删除指定雇员
c.execute("DELETE FROM employees WHERE id=?", (employee_id,))
# 提交并关闭连接
conn.commit()
conn.close()
def update_employee(employee_id, name, age, salary):
conn = sqlite3.connect('mydatabase.db')
c = conn.cursor()
# 更新雇员信息
c.execute("UPDATE employees SET name=?, age=?, salary=? WHERE id=?",
(name, age, salary, employee_id))
# 提交并关闭连接
conn.commit()
conn.close()
def get_employee(employee_id):
conn = sqlite3.connect('mydatabase.db')
c = conn.cursor()
# 查询指定雇员信息
c.execute("SELECT * FROM employees WHERE id=?", (employee_id,))
employee = c.fetchone()
# 提交并关闭连接
conn.commit()
conn.close()
return employee
def get_all_employees():
conn = sqlite3.connect('mydatabase.db')
c = conn.cursor()
# 查询所有雇员信息
c.execute("SELECT * FROM employees")
employees = c.fetchall()
# 提交并关闭连接
conn.commit()
conn.close()
return employees
# 创建数据库
create_database()
# 添加新雇员
add_employee('Tom Ford', 40, 8000)
# 更新雇员信息
update_employee(2, 'Jane Doe', 28, 6500)
# 删除雇员
delete_employee(1)
# 查询指定雇员
employee = get_employee(2)
print(f"Employee ID: {employee[0]}, Name: {employee[1]}, Age: {employee[2]}, Salary: {employee[3]}")
# 查询所有雇员
employees = get_all_employees()
for emp in employees:
print(f"Employee ID: {emp[0]}, Name: {emp[1]}, Age: {emp[2]}, Salary: {emp[3]}")
以上示例代码展示了一个简单的数据库管理程序,它使用了SQLite数据库来存储雇员信息。这个程序可以创建一个名为mydatabase.db的数据库,并在其中创建了一个名为employees的表,用于存储雇员的姓名、年龄和薪水。该程序提供了添加雇员、删除雇员、更新雇员信息、查询指定雇员和查询所有雇员的功能。
使用这个程序的步骤如下:
1. 首先运行create_database()函数来创建一个新的数据库和表格。
2. 通过调用add_employee()函数来添加新的雇员信息,并传入雇员的姓名、年龄和薪水参数。
3. 使用update_employee()函数来更新指定雇员的信息,需要传入雇员的ID以及新的姓名、年龄和薪水。
4. 通过调用delete_employee()函数来删除指定ID的雇员。
5. 使用get_employee()函数来查询指定ID的雇员信息,并返回一个包含雇员信息的元组。
6. 使用get_all_employees()函数来查询所有雇员的信息,并返回一个包含所有雇员信息的列表。
在程序的最后部分,我们展示了在使用上述功能时的一些例子,并输出了相应的结果。
这个示例程序是一个非常简单的数据库管理程序,可以帮助你入门使用Python进行数据库操作。你可以根据自己的需求扩展它,添加更多的功能和复杂的查询操作。
