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

基于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日

相关文章

  • python3光学字符识别模块tesserocr与pytesseract的使用详解

    标题:Python3光学字符识别模块TesserOCR与Pytesseract的使用详解 1. 简介 在如今的信息时代中,由于大量文字信息的存在,进行OCR(Optical Character Recognition)光学字符识别成为了必备的技能之一。本文将介绍Python3中两种OCR工具:TesserOCR和Pytesseract,让读者更好地理解它们的…

    python 2023年5月18日
    00
  • 怎么破解安卓手机图形锁 安卓手机忘记密码解锁图文教程

    作为网站的作者,我们不建议用户使用非法手段来破解安卓手机图形锁和密码锁。本篇文章只是提供一些参考,用于帮助用户找回自己的手机密码。在实际操作中,一定要遵守国家相关法律法规,不要侵犯他人的合法权益。 如果您因为忘记密码而不能使用您的安卓手机,可以尝试以下方法来解锁手机: 方法一:通过谷歌账号解锁 如果您曾经在手机上绑定过谷歌账号,可以通过谷歌账号来解锁手机。 …

    python 2023年6月3日
    00
  • Redis中的BigKey问题排查与解决思路详解

    下面是对Redis中的BigKey问题排查与解决思路的详细讲解。 背景 在使用Redis过程中,可能会遇到BigKey的问题。BigKey指的是占用内存很大的Redis Key,当操作这种Key时,会影响Redis的性能,并且可能会导致Redis进程崩溃。 解决思路 步骤一:找出BigKey 找出BigKey是排查问题的第一步。可以使用Redis的命令red…

    python 2023年5月14日
    00
  • Python自动化办公之生成PDF报告详解

    Python自动化办公之生成PDF报告详解 简介 本攻略将详细介绍如何使用Python语言自动化生成PDF报告。我们将使用Python中的reportlab库,Pillow库,以及Pandas库,通过数据处理和图表可视化来生成具有分析性质的PDF报告。 准备工作 在使用reportlab库来生成PDF文件之前,需要进行以下准备工作: 1.安装reportla…

    python 2023年6月5日
    00
  • Python中的字符串类型基本知识学习教程

    Python中的字符串类型基本知识学习教程 基本概念 在Python中,字符串是一种基本数据类型,用于表示文本信息或字符序列。可以使用单引号或双引号来创建字符串。 例如: str1 = ‘hello, world!’ str2 = "I’m a Python programmer" 字符串的索引和切片 字符串的每个字符都有一个索引,从0开…

    python 2023年5月20日
    00
  • Python定时任务随机时间执行的实现方法

    Python定时任务随机时间执行的实现方法 定时任务是很常见的需求,一般情况下都是按照设定的时间点执行任务,但是有时候为了避免同时触发大量任务,可以考虑将任务分散到一定的时间段内随机执行。这篇文章将介绍如何使用Python实现定时任务随机时间执行的方法。 使用time模块实现定时任务 time模块是Python中用于操作时间的一个标准库,可以使用time.s…

    python 2023年6月2日
    00
  • Python运行异常管理解决方案

    Python运行异常管理解决方案 在Python中,任何程序都可能出现各种各样的异常。当程序出现异常时,如果不进行及时处理,可能会导致程序崩溃。因此,异常管理是编写稳定可靠的Python程序的重要组成部分。 下面是Python运行异常管理的解决方案: 使用try-except语句捕捉异常 try-except语句可用于捕捉代码块中的异常并进行相应的处理。以下…

    python 2023年5月13日
    00
  • 读写json中文ASCII乱码问题的解决方法

    以下是“读写json中文ASCII乱码问题的解决方法”的完整攻略: 问题 在读写json文件时,如果处理中文时会遇到中文字符被自动转换成ASCII码而出现乱码的情况。 原因 这是由于不同的编码格式所导致的。在处理中文字符时,一般会用到UTF-8编码格式,而JSON默认使用的是Unicode编码格式。在进行转换时,如果没有正确设置编码格式,就可能会出现ASCI…

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