溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

基于Python怎樣實現(xiàn)一個簡易的數(shù)據(jù)管理系統(tǒng)

發(fā)布時間:2021-12-27 14:08:50 來源:億速云 閱讀:177 作者:柒染 欄目:開發(fā)技術(shù)

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)基于Python怎樣實現(xiàn)一個簡易的數(shù)據(jù)管理系統(tǒng),文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

為了方便的實現(xiàn)記錄數(shù)據(jù)、修改數(shù)據(jù)沒有精力去做一個完整的系統(tǒng)去管理數(shù)據(jù)。因此,在python的控制臺直接實現(xiàn)一個簡易的數(shù)據(jù)管理系統(tǒng),包括數(shù)據(jù)的增刪改查等等。只需要在控制臺層面調(diào)用相應(yīng)的功能調(diào)用查詢、修改等功能,這里記錄一下實現(xiàn)過程。

基于Python怎樣實現(xiàn)一個簡易的數(shù)據(jù)管理系統(tǒng)

創(chuàng)建mysql數(shù)據(jù)表

使用比較熟悉的數(shù)據(jù)庫客戶端來進(jìn)行操作,這里使用的是navicate客戶端來創(chuàng)建好相應(yīng)的數(shù)據(jù)表。

創(chuàng)建數(shù)據(jù)庫并指定編碼字符集。

CREATE DATABASE `data_boc` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci';

創(chuàng)建數(shù)據(jù)記錄表boc

CREATE TABLE `boc`  (
  `id_` bigint(255) NOT NULL COMMENT '數(shù)據(jù)記錄編號,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  # 導(dǎo)入mysql驅(qū)動器

from pprint import pprint  # 導(dǎo)入美觀的數(shù)據(jù)打印庫

確定一下需要實現(xiàn)哪些功能,在控制臺打印出功能列表,通過在控制臺輸入每個功能列表前面的標(biāo)記來進(jìn)入后臺系統(tǒng)的使用。

def current_menu():
    '''
    功能目錄列表展示
    :return:
    '''
    pprint('---------------- 簡易數(shù)據(jù)管理系統(tǒng) ----------------')
    pprint('系統(tǒng)功能實現(xiàn):<Python 集中營>')
    pprint('1- 查詢數(shù)據(jù)列表')
    pprint('2- 新增數(shù)據(jù)列表')
    pprint('exit- 退出系統(tǒng)')
    pprint('更多功能、暫未實現(xiàn)')

編寫數(shù)據(jù)庫連接的創(chuàng)建函數(shù),在修改或查詢數(shù)據(jù)時直接調(diào)用。

def cteate_connection():
    '''
    創(chuàng)建數(shù)據(jù)庫連接
    :return:
    '''
    connection = mysql.connect(host='127.0.0.1',
           user='root',
           password='root',
           database='data_boc')
    return connection

編寫保存數(shù)據(jù)的函數(shù)用于數(shù)據(jù)列表新增功能實現(xiàn)。

def set_data():
    '''
    新增數(shù)據(jù)保存
    :return:
    '''
    pprint('當(dāng)前進(jìn)入[2- 新增數(shù)據(jù)列表]')
    id = input('輸入數(shù)據(jù)編號')
    id = int(id)
    boc_address = str(input('輸入詳細(xì)地址'))
    boc_code = str(input('輸入具體編碼'))
    boc_email = str(input('輸入正確郵箱'))
    boc_name = str(input('輸入數(shù)據(jù)名稱'))
    pprint('數(shù)據(jù)輸入完成,開始保存...')
    '''創(chuàng)建數(shù)據(jù)庫接連'''
    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("數(shù)據(jù)保存出現(xiàn)異常...")
    connection.close()
    pprint('數(shù)據(jù)保存完成...')

編寫數(shù)據(jù)列表的查詢功能函數(shù)。

def get_data():
    pprint('當(dāng)前進(jìn)入[1- 查詢數(shù)據(jù)列表]')
    '''創(chuàng)建數(shù)據(jù)庫連接'''
    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({'數(shù)據(jù)編號':id,'詳細(xì)地址':boc_address,'具體編碼':boc_code,'郵箱地址':boc_email,'名稱':boc_name})
        pprint('數(shù)據(jù)結(jié)果:{}'.format(res_list))
        connection.commit()
    except:
        print("數(shù)據(jù)查詢出現(xiàn)異常...")
    connection.close()
    pprint('數(shù)據(jù)查詢完成...')

啟動應(yīng)用 

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

上述就是小編為大家分享的基于Python怎樣實現(xiàn)一個簡易的數(shù)據(jù)管理系統(tǒng)了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI