您好,登錄后才能下訂單哦!
這期內(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)過程。
使用比較熟悉的數(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ù)查詢完成...')
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è)資訊頻道。
免責(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)容。