为了不便的实现记录数据、批改数据没有精力去做一个残缺的零碎去治理数据。因而,在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 做一个天气查问零碎(文末支付残缺代码)!