如何在控制檯實現一個數據管理系統(包括MYSQL資料庫的增刪改查)
阿新 • • 發佈:2021-12-25
為了方便的實現記錄資料、修改資料沒有精力去做一個完整的系統去管理資料。因此,在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 做一個天氣查詢系統(文末領取完整程式碼)!
歡迎關注作者公眾號【Python 集中營】,專注於後端程式設計,每天更新技術乾貨,不定時分享各類資料!