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

Posted Python 集中营

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在控制台实现一个数据管理系统(包括MYSQL数据库的增删改查)相关的知识,希望对你有一定的参考价值。

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

【阅读全文】

创建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

【往期精选】

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

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

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

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

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

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

以上是关于如何在控制台实现一个数据管理系统(包括MYSQL数据库的增删改查)的主要内容,如果未能解决你的问题,请参考以下文章

mysql 优化包括哪些内容?

使用commons.pool2实现mysql连接池

MySQL基础1

MySQL的多版本并发控制(InnoDB下)

mysql常用命令

MySQL之架构与历史