如何在控制台实现一个数据管理系统(包括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('系统功能实现:')
    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 做一个天气查询系统(文末领取完整代码)!


分享标题:如何在控制台实现一个数据管理系统(包括MYSQL数据库的增删改查)
网页路径:http://hbruida.cn/article/dsojcdd.html