在这个实例中,我们将使用SQLite数据库库来创建一个小型数据库应用。SQLite是一个嵌入式的数据库引擎,不需要额外的服务器,非常适合小型数据库应用。
请确保你已经安装了SQLite库。如果没有安装,可以通过以下命令来安装:
pip install sqlite3
下面是一个小型数据库应用的Python程序:
import sqlite3
def create_table():
conn = sqlite3.connect('students.db')
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS students
(id INTEGER PRIMARY KEY, name TEXT NOT NULL, age INTEGER NOT NULL, grade TEXT)''')
conn.commit()
conn.close()
def insert_student(name, age, grade=None):
conn = sqlite3.connect('students.db')
c = conn.cursor()
c.execute("INSERT INTO students (name, age, grade) VALUES (?, ?, ?)", (name, age, grade))
conn.commit()
conn.close()
def get_all_students():
conn = sqlite3.connect('students.db')
c = conn.cursor()
c.execute("SELECT * FROM students")
students = c.fetchall()
conn.close()
return students
if __name__ == "__main__":
create_table()
print("欢迎使用学生数据库应用!")
while True:
print("\n1. 添加学生")
print("2. 查看所有学生")
print("3. 退出")
choice = input("请选择操作(输入数字):")
if choice == '1':
name = input("请输入学生姓名:")
age = int(input("请输入学生年龄:"))
grade = input("请输入学生年级(可选):")
insert_student(name, age, grade)
print("学生信息添加成功!")
elif choice == '2':
students = get_all_students()
if not students:
print("没有学生信息。")
else:
print("所有学生信息:")
for student in students:
print(f"ID: {student[0]}, 姓名: {student[1]}, 年龄: {student[2]}, 年级: {student[3]}")
elif choice == '3':
print("谢谢使用,再见!")
break
else:
print("无效的选择,请重新输入。")
在上述代码中,我们定义了几个函数:create_table
用于创建数据库表,insert_student
用于插入学生信息,get_all_students
用于获取所有学生信息。
运行程序后,它将提供添加学生信息和查看所有学生信息的选项。你可以根据需要继续扩展这个小型数据库应用,比如添加删除学生、按条件查询学生等功能。
请注意,SQLite是一种嵌入式数据库,适用于小型应用或原型开发。如果需要更大规模或多用户访问的数据库应用,可以考虑使用其他数据库系统,如MySQL、PostgreSQL等。