1. 程式人生 > 其它 >如何在控制檯實現一個數據管理系統(包括MYSQL資料庫的增刪改查)

如何在控制檯實現一個數據管理系統(包括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

【往期精選】

自制文件格式轉換器,支援 .txt/.xlsx/.csv格式轉換...

PyPDF2如何實現按照PDF頁碼提取後並另存為PDF格式檔案?

PyQt5 GUI:百度圖片下載器(文末附原始碼)

浪漫的turtle,送給程式設計師自己的聖誕樹!

PyQt5 GUI && Requests Api 做一個天氣查詢系統(文末領取完整程式碼)!

歡迎關注作者公眾號【Python 集中營】,專注於後端程式設計,每天更新技術乾貨,不定時分享各類資料!