基于Python实现一个简易的数据管理系统

yizhihongxing

基于Python实现一个简易的数据管理系统

数据管理系统是一种用于管理和处理数据的软件系统。在本文中,我们将介绍如何使用Python实现一个简易的数据管理系统,包括如何创建数据库、添加、查询数据删除数据。

创建数据库

在Python中,可以使用SQLite3库来创建和管理数据库。SQLite3是一种轻量级的关系数据库,它可以在本地文件中存储数据。下面是一个示例,演示如何使用SQLite3库创建一个名为mydatabase.db的数据库。

import sqlite3

conn = sqlite3.connect('mydatabase.db')
print("Database created successfully")
conn.close()

在这个示例中,我们首先导入sqlite3库,然后使用connect()函数创建一个名为mydatabase.db的数据库。最后,我们输出一条消息,表示数据库创建成功,并关闭数据库连接。

添加数据

在SQLite3中,使用execute()函数执行SQL语句来添加数据。下面是一个示例,演示如何向名为students的表中添加一条记录。

import sqlite3

conn = sqlite3.connect('mydatabase.db')
print("Database created successfully")

conn.execute('''CREATE TABLE students
             (ID INT PRIMARY KEY NOT NULL,
             NAME TEXT NOT NULL,
             AGE INT NOT NULL);''')
print("Table created successfully")

conn.execute("INSERT INTO students (ID, NAME, AGE) VALUES (1, 'John Doe', 20)")
conn.commit()
print("Record created successfully")
conn.close()

在这个示例中,我们首先创建了一个名为students的表,该表包含三个字段:IDNAMEAGE。然后,我们使用execute()函数向表中添加一条记录。最后,我们提交事务并关闭数据库连接。

查询数据

在SQLite3中,可以使用execute()函数执行SQL语句来查询数据。下面是一个示例,演示如何查询名为students的表中的所有记录。

import sqlite3

conn = sqlite3.connect('mydatabase.db')
print("Database created successfully")

cursor = conn.execute("SELECT * FROM students")
for row in cursor:
    print("ID = ", row[0])
    print("NAME = ", row[1])
    print("AGE = ", row[2])

print("Operation done successfully")
conn.close()

在这个示例中,我们首先连接到名为mydatabase.db的数据库。然,我们使用execute函数执行SELECT语来查询students表中的所有记录。最后,我们使用for循环遍历查询结果,并输出每条记录的ID、NAME和AGE字段。

删除数据

在SQLite3中,可以使用execute()函数执行SQL语句来删除数据。面是一个示例演示如何删除名为students的表的一条记录。

import sqlite3

conn = sqlite3.connect('mydatabase.db')
print("Database created successfully")

conn.execute("DELETE FROM students WHERE ID = 1")
conn.commit()
print("Total number of rows deleted :", conn.total_changes)

cursor = conn.execute("SELECT * FROM students")
for row in cursor:
    print("ID = ", row[0])
    print("NAME = ", row[1])
    print("AGE = ", row[2])

print("Operation done successfully")
conn.close()

在这个示例中,我们首先连接到名为mydatabase.db数据库。然后,我们使用execute()函数执行DELETE语句来删除students表中ID为1的记录。最后,我们提交事务并输出删除的记录数。我们还查询了students表中的所有记录,并每记录的ID、NAME和AGE字段。

示例1:使用Python实现一个简单的学生信息管理系统

import sqlite3

class Student:
    def __init__(self, id, name, age):
        self.id = id
        self.name = name
        self.age = age

class StudentManager:
    def __init__(self, db_name):
        self.conn = sqlite3.connect(db_name)
        self.conn.execute('''CREATE TABLE IF NOT EXISTS students
             (ID INT PRIMARY KEY NOT NULL,
             NAME TEXT NOT NULL,
             AGE INT NOT NULL);''')
        self.conn.commit()

    def add_student(self, student):
        self.conn.execute("INSERT INTO students (ID, NAME, AGE) VALUES (?, ?, ?)", (student.id, student.name, student.age))
        self.conn.commit()

    def get_all_students(self):
        cursor = self.conn.execute("SELECT * FROM students")
        students = []
        for row in cursor:
            student = Student(row[0], row[1], row[2])
            students.append(student)
        return students

    def delete_student(self, id):
        self.conn.execute("DELETE FROM students WHERE ID = ?", (id,))
        self.conn.commit()

    def __del__(self):
        self.conn.close()

manager = StudentManager('students.db')
manager.add_student(Student(1, 'John Doe', 20))
manager.add_student(Student(2, 'Jane Smith', 21))
students = manager.get_all_students()
for student in students:
    print(student.id, student.name, student.age)
manager.delete_student(1)
students = manager.get_all_students()
for student in students:
    print(student.id, student.name, student.age)

在这个示例中,我们定义了一个Student类和一个StudentManager类。Student类表示一个学生,包含idnameage三个属性。StudentManager类用于管理学生信息,包含add_student()get_all_students()delete_student()三个方法。在add_student()方法中,我们使用execute()函数向students表中添加一条记录。在get_all_students()方法中,我们使用execute()函数查询students表中的所有记录,并将每条记录转换为一个Student对象。在delete_student()方法中,我们使用execute()函数删除students表中指定ID的记录。最后,我们创建了一个StudentManager对象,并对其进行了添加、查询和删除操作。

示例2:使用Python实现一个简单的图书管理系统

import sqlite3

class Book:
    def __init__(self, id, title, author, price):
        self.id = id
        self.title = title
        self.author = author
        self.price = price

class BookManager:
    def __init__(self, db_name):
        self.conn = sqlite3.connect(db_name)
        self.conn.execute('''CREATE TABLE IF NOT EXISTS books
             (ID INT PRIMARY KEY NOT NULL,
             TITLE TEXT NOT NULL,
             AUTHOR TEXT NOT NULL,
             PRICE REAL NOT NULL);''')
        self.conn.commit()

    def add_book(self, book):
        self.conn.execute("INSERT INTO books (ID, TITLE, AUTHOR, PRICE) VALUES (?, ?, ?, ?)", (book.id, book.title, book.author, book.price))
        self.conn.commit()

    def get_all_books(self):
        cursor = self.conn.execute("SELECT * FROM books")
        books = []
        for row in cursor:
            book = Book(row[0], row[1], row[2], row[3])
            books.append(book)
        return books

    def delete_book(self, id):
        self.conn.execute("DELETE FROM books WHERE ID = ?", (id,))
        self.conn.commit()

    def __del__(self):
        self.conn.close()

manager = BookManager('books.db')
manager.add_book(Book(1, 'Python for Beginners', 'John Doe', 19.99))
manager.add_book(Book(2, 'Java Programming', 'Jane Smith', 29.99))
books = manager.get_all_books()
for book in books:
    print(book.id, book.title, book.author, book.price)
manager.delete_book(1)
books = manager.get_all_books()
for book in books:
    print(book.id, book.title, book.author, book.price)

在这个示例中,我们定义了一个Book类和一个BookManager类。Book类表示一本书,包含idtitleauthorprice四个属性。BookManager类用于管理图书信息,包含add_book()get_all_books()delete_book()三个方法。在add_book()方法中,我们使用execute()函数向books表中添加一条记录。在get_all_books()方法中,我们使用execute()函数查询books表中的所有记录,并将每条记录转换为一个Book对象。在delete_book()方法中,我们使用execute()函数删除books表中指定ID的记录。最后,我们创建了一个BookManager对象,并对其进行了添加、查询和删除操作。

结论

本文介绍了如何使用Python实现一个简易的数据管理系统,包括如何创建数据库、添加数据、查询数据和删除数据。在Python中,可以使用SQLite3库来创建和管理数据库,使用execute()函数执行SQL语句来操作数据。我们还提供了两个示例,分别演示了如何使用Python实现一个简单的学生信息管理系统和一个简单的图书管理系统。这个简易的数据管理系统可以作学习和实践的入门项目。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基于Python实现一个简易的数据管理系统 - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • Python利用IPython提高开发效率

    Python利用IPython提高开发效率 概述 Python是一种高效的编程语言,直接在Python交互式控制台使用Python代码可以让开发者快速实现想法,快速验证代码,简单调试程序并看到输出结果。在Python的标准库中有一个交互式环境IPython,提供了比Python交互式控制台更强大的环境,可以大大提高开发效率。 安装IPython IPytho…

    python 2023年5月13日
    00
  • python-httpx的使用及说明

    Python-httpx的使用及说明 简介 httpx 是一个 Python 的异步 HTTP 客户端,提供了更好用的 API、更好的异步支持、更好的性能,并且还提供了更接近现代 Web 特点的新特性,比如:HTTP/2、ASGI 和 WebSocket 支持。 安装 可以使用 pip 包管理器来安装 httpx,具体命令如下: pip install ht…

    python 2023年6月3日
    00
  • python 基本结构语句(函数和模块)

    Python 是一种高级编程语言,具有简单、易读、简洁的语法,广泛用于数据处理、科学计算、Web应用程序等领域。本文将重点讲解 Python 中的基本结构语句,包括函数和模块。 函数 函数是 Python 中一种重要的编程结构,可以将程序的功能分解为小块,使程序更易于阅读和维护。在 Python 中,我们可以使用 def 关键字来定义函数,函数的基本语法如下…

    python 2023年5月30日
    00
  • Django中URL的参数传递的实现

    在Django中,URL参数传递是一种常见的方式,用于将数据从URL传递到视图函数中。本文将详细介绍Django中URL参数传递的实现方法,并提供两个示例。 URL参数传递的实现方法 在Django中,URL参数传递的实现方法有两种:使用正则表达式和使用path()函数。 使用正则表达式 使用正则表达式是一种常见的URL参数传递方法。在URL中,我们可以使用…

    python 2023年5月15日
    00
  • 使用机器学习进行疾病预测

    使用机器学习进行疾病预测是一种非常流行的技术,在医学领域被广泛应用。下面给出一个详细的攻略,让你能够快速入门。 1. 收集数据 收集数据是机器学习算法的第一步。对于医学领域的疾病预测问题,我们需要收集患者的相关数据。这些数据可能包括以下内容: 个人信息,如年龄、性别、身高、体重等; 生理指标,如血压、血糖、胆固醇水平、心率等; 疾病史,包括曾经患有的疾病、症…

    python-answer 2023年3月25日
    00
  • python tkinter图形界面代码统计工具(更新)

    Python tkinter图形界面代码统计工具是一个用Python编写的工具,可以统计指定目录下的所有Python代码文件(扩展名为.py)的行数、文字数和代码行数,还可以将结果图形化展示在界面上。 下面是完整攻略: 安装Python tkinter模块 在开始使用之前,你需要先确保Python tkinter模块已经安装。如果你使用的是Python3版本…

    python 2023年6月3日
    00
  • Python编程itertools模块处理可迭代集合相关函数

    Python编程中的itertools模块是一个处理可迭代集合的库,提供了各种函数可以方便地对可迭代集合进行处理。下面将介绍一些itertools模块中处理可迭代集合相关函数的使用攻略。 1. itertools.cycle函数 itertools.cycle函数通过让可迭代的seq无限循环来创建一个迭代器。示例代码如下: import itertools …

    python 2023年6月3日
    00
  • python光学仿真PyQt5基础框架教程

    Python光学仿真PyQt5基础框架教程是一篇非常好的教程,它介绍了如何用PyQt5构建一个光学仿真程序的基本框架。 这篇教程包括以下几个方面的内容: 介绍PyQt5和光学仿真 PyQt5是一个Python的GUI编程框架,它可以帮助开发者快速地构建漂亮、易用的跨平台应用程序。而光学仿真则是一项非常具有挑战性的任务,它需要考虑到光在各种材料中的传播、反射、…

    python 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部