0
点赞
收藏
分享

微信扫一扫

Python开发实例(十八)数据库应用:使用SQLite或其他数据库库创建一个小型数据库应用

在这个实例中,我们将使用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等。

举报

相关推荐

0 条评论