如何在控制台实现一个数据管理系统(包括MYSQL数据库的增删改查)

如何在控制台实现一个数据管理系统(包括MYSQL数据库的增删改查)

为了方便的实现记录数据、修改数据没有精力去做一个完整的系统去管理数据。因此,在python的控制台直接实现一个简易的数据管理系统,包括数据的增删改查等等。只需要在控制台层面调用相应的功能调用查询、修改等功能,这里记录一下实现过程。

file

file

【阅读全文】

创建mysql数据表

使用比较熟悉的数据库客户端来进行操作,这里使用的是navicate客户端来创建好相应的数据表。

创建数据库并指定编码字符集。

CREATE DATABASE `data_boc` CHARACTER SET "utf8mb4" COLLATE "utf8mb4_general_ci";

创建数据记录表boc

CREATE TABLE `boc`  (
  `id_` bigint(255) NOT NULL COMMENT "数据记录编号,ID_作为主键",
  `boc_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  `boc_code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  `boc_email` varchar(24) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  `boc_name` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  PRIMARY KEY (`id_`) USING BTREE
)

增删改查

import pymysql as mysql  # 导入mysql驱动器

from pprint import pprint  # 导入美观的数据打印库

确定一下需要实现哪些功能,在控制台打印出功能列表,通过在控制台输入每个功能列表前面的标记来进入后台系统的使用。

def current_menu():
    """
    功能目录列表展示
    :return:
    """
    pprint("---------------- 简易数据管理系统 ----------------")
    pprint("系统功能实现:<Python 集中营>")
    pprint("1- 查询数据列表")
    pprint("2- 新增数据列表")
    pprint("exit- 退出系统")
    pprint("更多功能、暂未实现")

编写数据库连接的创建函数,在修改或查询数据时直接调用。

def cteate_connection():
    """
    创建数据库连接
    :return:
    """
    connection = mysql.connect(host="127.0.0.1",
           user="root",
           password="root",
           database="data_boc")
    return connection

编写保存数据的函数用于数据列表新增功能实现。

def set_data():
    """
    新增数据保存
    :return:
    """
    pprint("当前进入[2- 新增数据列表]")
    id = input("输入数据编号")
    id = int(id)
    boc_address = str(input("输入详细地址"))
    boc_code = str(input("输入具体编码"))
    boc_email = str(input("输入正确邮箱"))
    boc_name = str(input("输入数据名称"))
    pprint("数据输入完成,开始保存...")
    """创建数据库接连"""
    connection = cteate_connection()
    cursor = connection.cursor()
    insert_sql = "insert into boc(id_,boc_address,boc_code,boc_email,boc_name) values("%d","%s","%s",%s,%s)" % (
    id, boc_address, boc_code, boc_email, boc_name)
    try:
        cursor.execute(insert_sql)
        connection.commit()
    except:
        connection.rollback()
        print("数据保存出现异常...")
    connection.close()
    pprint("数据保存完成...")

编写数据列表的查询功能函数。

def get_data():
    pprint("当前进入[1- 查询数据列表]")
    """创建数据库连接"""
    connection = cteate_connection()
    cursor = connection.cursor()
    select_sql = "select * from boc"
    res_list = []
    try:
        cursor.execute(select_sql)
        res = cursor.fetchall()
        for row in res:
            id = row[0]
            boc_address = row[1]
            boc_code = row[2]
            boc_email = row[3]
            boc_name = row[4]
            res_list.append({"数据编号":id,"详细地址":boc_address,"具体编码":boc_code,"邮箱地址":boc_email,"名称":boc_name})
        pprint("数据结果:{}".format(res_list))
        connection.commit()
    except:
        print("数据查询出现异常...")
    connection.close()
    pprint("数据查询完成...")

启动应用

if __name__ == "__main__":
    while True:
        current_menu()
        chiose_code = input("输入菜单编号:")
        if str(chiose_code) == "2":
            set_data()
        if str(chiose_code) == "1":
            get_data()
        if str(chiose_code) == "exit":
            break

file

【往期精选】

自制文档格式转换器,支持 .txt/.xlsx/.csv格式转换...

PyPDF2如何实现按照PDF页码提取后并另存为PDF格式文件?

PyQt5 GUI:百度图片下载器(文末附源码)

浪漫的turtle,送给程序员自己的圣诞树!

PyQt5 GUI && Requests Api 做一个天气查询系统(文末领取完整代码)!

欢迎关注作者公众号【Python 集中营】,专注于后端编程,每天更新技术干货,不定时分享各类资料!