为了方便的实现记录数据、修改数据没有精力去做一个完整的系统去管理数据。因此,在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,送给程序员自己的圣诞树!
【如何在控制台实现一个数据管理系统(包括MYSQL数据库的增删改查)】PyQt5 GUI && Requests Api 做一个天气查询系统(文末领取完整代码)!
推荐阅读
- 推荐系统论文进阶|CTR预估 论文精读(十一)--Deep Interest Evolution Network(DIEN)
- Python专栏|数据分析的常规流程
- Python|Win10下 Python开发环境搭建(PyCharm + Anaconda) && 环境变量配置 && 常用工具安装配置
- Python绘制小红花
- Pytorch学习|sklearn-SVM 模型保存、交叉验证与网格搜索
- OpenCV|OpenCV-Python实战(18)——深度学习简介与入门示例
- python|8. 文件系统——文件的删除、移动、复制过程以及链接文件
- 爬虫|若想拿下爬虫大单,怎能不会逆向爬虫,价值过万的逆向爬虫教程限时分享
- 分布式|《Python3网络爬虫开发实战(第二版)》内容介绍
- java|微软认真聆听了开源 .NET 开发社区的炮轰( 通过CLI 支持 Hot Reload 功能)