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

目录
  • 创建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 

到此这篇关于基于Python实现一个简易的数据管理系统的文章就介绍到这了,更多相关Python数据管理系统内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python实现控制台输出颜色

    本文实例为大家分享了python实现控制台输出颜色的具体代码,供大家参考,具体内容如下 python控制台输出颜色,out()是基本方法,还封装了一些基本颜色方法,如red(),blue(),green()等 out()方法的color参数表示颜色,bgcolor表示背景颜色,style表示样式 其他方法的参数类似,三个参数的具体取值封装到Color类,BGColor类,Style类中. 基本方法: out(content, color=Color.DEFAULT, bgcolor=BGColo

  • python实现控制台输出彩色字体

    python控制台输出彩色字体,供大家参考,具体内容如下 import ctypes, sys STD_INPUT_HANDLE = -10 STD_OUTPUT_HANDLE = -11 STD_ERROR_HANDLE = -12 # 字体颜色定义 text colors FOREGROUND_BLUE = 0x09 # blue. FOREGROUND_GREEN = 0x0a # green. FOREGROUND_RED = 0x0c # red. FOREGROUND_YELLOW

  • Python控制台输出俄罗斯方块的方法实例

    今天填一个坑,俄罗斯方块!! 俄罗斯方块的移动不难实现,但是旋转就不太容易实现,究其原因是因为Python中没有数组这种数据结构,所以不能用矩阵的公式.今天把旋转做出来了,刚好整理一下,把之前的都整合在一起 俄罗斯方块-打印 功能:输入字母,打印俄罗斯方块的*图形 # 尽可能吧俄罗斯方块放在中间 Tetris = {'L': [[1, 1], [1, 2], [1, 3], [2, 3]], 'O': [[1, 1], [2, 1], [1, 2], [2, 2]], 'J': [[2, 1],

  • python3获取控制台输入的数据的具体实例

    python3获取控制台输入的数据的方法:可以利用input()函数来获取. python3为我们提供了input()函数,该函数用来接收一个标准输入数据,返回为string类型,使用方法如:[age = input()]. Python3.x 中 提供了 input() 函数接受一个标准输入数据,返回为 string 类型. 语法: input([prompt]) 参数prompt表示提示信息. 代码示例: """ 接收控制台的输入 How old are you? 18

  • Python控制台输出俄罗斯方块移动和旋转功能

    今天填一个坑,俄罗斯方块!! 俄罗斯方块的移动不难实现,但是旋转就不太容易实现,究其原因是因为Python中没有数组这种数据结构,所以不能用矩阵的公式.今天把旋转做出来了,刚好整理一下,把之前的都整合在一起 这两天浏览量有点离谱,说明一下,我没有使用pygame,只是在控制台可以打印.移动和旋转生成的俄罗斯方块星号图形 俄罗斯方块-打印 功能:输入字母,打印俄罗斯方块的*图形 # 尽可能吧俄罗斯方块放在中间 Tetris = {'L': [[1, 1], [1, 2], [1, 3], [2,

  • python3实现名片管理系统(控制台版)

    本文实例为大家分享了python3实现名片管理系统的具体代码,供大家参考,具体内容如下 系统主要是:1.新增名片 2.显示全部 3.查询名片 0.退出系统 card_main.py import card_tools while True: """ 1.新增名片 2.显示全部 3.查询名片 0.退出系统 """ card_tools.show_menu() # 显示系统菜单 action_str = card_tools.input_deal()

  • python控制台显示时钟的示例

    复制代码 代码如下: #!/usr/bin/env python# coding: utf-8### show time in console#import sysimport time raws = '''.--. |  | `--`  . /| | ------. ---` `------. ---| ---`.  . `--| |.--- `--. ---`.--- |--. `--`.--. `  | |.--. |--| `--`.--. `--| ---`'''.strip()num

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

    目录 创建mysql数据表 增删改查 启动应用  为了方便的实现记录数据.修改数据没有精力去做一个完整的系统去管理数据.因此,在python的控制台直接实现一个简易的数据管理系统,包括数据的增删改查等等.只需要在控制台层面调用相应的功能调用查询.修改等功能,这里记录一下实现过程. 创建mysql数据表 使用比较熟悉的数据库客户端来进行操作,这里使用的是navicate客户端来创建好相应的数据表. 创建数据库并指定编码字符集. CREATE DATABASE `data_boc` CHARACTE

  • 基于python代码实现简易滤除数字的方法

    如果想从一个含有数字,汉字,字母的列表中滤除仅含有数字的字符,当然可以采取正则表达式来完成,但是有点太麻烦了,因此可以采用一个比较巧妙的方式: 1.正则表达式解决 import re L = [u'小明', 'xiaohong', '12', 'adf12', '14'] for i in range(len(L)): if re.findall(r'^[^\d]\w+',L[i]): print re.findall(r'^\w+$',L[i])[0] elif isinstance(L[i]

  • 使用 Python 写一个简易的抽奖程序

    不知道有多少人是被这个头图骗进来的:) 事情的起因是这样的,上周有同学问小编,看着小编的示例代码敲代码,感觉自己也会写了,如果不看的话,七七八八可能也写的出来,但是一旦自己独立写一段程序,感觉到无从下手. 其实这个很正常,刚开始学习写代码,都是跟着别人的套路往下写,看的套路少,很难形成自己的套路,这就和做数学题是一样的,做一道题就想会所有的题目,这个可能性微乎其微,都是通过大量的练习来摸索到自己的套路. 正好快过年了,各个公司都会搞一些抽奖活动,小编今天就来聊一下,如果要写一个简单的抽奖程序,小

  • Python编写一个验证码图片数据标注GUI程序附源码

    做验证码图片的识别,不论是使用传统的ORC技术,还是使用统计机器学习或者是使用深度学习神经网络,都少不了从网络上采集大量相关的验证码图片做数据集样本来进行训练. 采集验证码图片,可以直接使用Python进行批量下载,下载完之后,就需要对下载下来的验证码图片进行标注.一般情况下,一个验证码图片的文件名就是图片中验证码的实际字符串. 在不借助工具的情况下,我们对验证码图片进行上述标注的流程是: 1.打开图片所在的文件夹: 2.选择一个图片: 3.鼠标右键重命名: 4.输入正确的字符串: 5.保存 州

  • 如何使用Python实现一个简易的ORM模型

    本文记录下自己使用Python实现一个简易的ORM模型 使用到的知识 1.元类 2.描述器 元类 对于元类,我的理解其实也便较浅,大概是这个意思 所有的类都是使用元类来进行创建的,而所有的类的父类中必然是object(针对Python3),Python中的元类只有一个(type),当然这里不包含自定义元类 下面我们来看下类的创建 class Test: # 定义一个类 pass Test1 = type("Test2",(object,),{"name":"

  • 基于 Mysql 实现一个简易版搜索引擎

    目录 基于 Mysql 实现一个搜索引擎 一.ngram 全文解析器 二.创建全文索引 1.建表时创建全文索引 2.通过 alter table 方式 3.通过 create index 方式 三.检索方式 1.自然语言检索(NATURAL LANGUAGE MODE) 四.与 Like 对比 基于 Mysql 实现一个搜索引擎 前言: 其实 Mysql 很早就支持全文索引了,只不过一直只支持英文的检索,从5.7.6 版本开始,Mysql 就内置了 ngram 全文解析器,用来支持中文.日文.韩

  • 基于QT制作一个简易的传输文件小工具

    最近因为一个事情很恼火,因为办公需要用到企业微信,但是企业微信只能在一个电脑上登陆,所以当别人发文件给你的时候,你只能一个电脑接收,创建共享文件夹也很麻烦,每次都需要去访问,很麻烦.所以准备自己写一个文件传输小工具. 功能就是能实现文件的双向传输,即客户端能传给服务端,服务端可以传给客户端. 使用的tcp通信,其实就是发消息,但是组合数据我是借鉴了IT1995大神写的代码. 先看下效果图 可以看到既可以接受文件也可进行发送文件,只要2台电脑在统一局域网内,就可发送和接受数据. 本地文件下出现了一

  • 基于Python绘制一个摸鱼倒计时界面

    目录 前言 实现过程 前言 前段时间在微博看到一段摸鱼人的倒计时模板,感觉还挺有趣的. 于是我用了一小时的时间写了个页面出来 摸鱼办地址 (当然是摸鱼的时间啦). 模板是这样的: 摸鱼办公室 [摸鱼办公室]今天是 2021-11-30 星期二 你好,摸鱼人,工作再累,一定不要忘记摸鱼哦 ! 有事没事起身去茶水间去廊道去天台走走,别老在工位上坐着.多喝点水,钱是老板的,但命是自己的 ! 距离 周末 放假还有 2 天 距离 元旦 放假还有 3 天 距离 过年 放假还有 34 天 距离 清明节 放假还

  • 基于Python制作一个多进制转换工具

    目录 前言 主要步骤 完整代码 前言 学习资料下载链接 提取码:tha8  进制转换计算工具含源文件 主要步骤 导入模块 import tkinter from tkinter import * import tkinter as tk from tkinter.ttk import * 整个框架的主结构 root = Tk() root.title('贱工坊-进制转换计算') # 程序的标题名称 root.geometry("580x400+512+288") # 窗口的大小及页面的

  • 基于Python制作一个文件去重小工具

    目录 前言 实现步骤 补充 前言 常常在下载网络素材时有很多的重复文件乱七八糟的,于是想实现一个去重的操作. 主要实现思路就是遍历出某个文件夹包括其子文件夹下面的所有文件,最后,将所有文件通过MD5函数的对比筛选出来,最后将重复的文件移除. 实现步骤 用到的第三方库都比较的常见,其中只有hashlib是用来对比文件的不是很常见.其他的都是一些比较常见的第三方库用来做辅助操作. import os # 应用文件操作 import hashlib # 文件对比操作 import logging #

随机推荐