共计 2598 个字符,预计需要花费 7 分钟才能阅读完成。
为了不便的实现记录数据、批改数据没有精力去做一个残缺的零碎去治理数据。因而,在 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 做一个天气查问零碎(文末支付残缺代码)!
正文完