国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

python+mysql的學(xué)生管理系統(tǒng)

這篇具有很好參考價值的文章主要介紹了python+mysql的學(xué)生管理系統(tǒng)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

1、項目所需模塊

2、學(xué)生管理系統(tǒng)的主要功能

3、首先創(chuàng)建數(shù)據(jù)庫

4、防止數(shù)據(jù)庫斷開操作

5、菜單

6、編寫主函數(shù)

7、添加學(xué)生信息

8、刪除學(xué)生信息

9、修改學(xué)生信息

10、查看學(xué)生信息

11、展示所有學(xué)生信息

12、最后就是調(diào)用主函數(shù)


1、項目所需模塊

編寫這個學(xué)生管理系統(tǒng)需要使用pymysql這個庫去連接數(shù)據(jù)庫

2、學(xué)生管理系統(tǒng)的主要功能

這個學(xué)生管理系統(tǒng)我做的很簡陋,只做了增刪改查和展示所有學(xué)生信息5個模塊,大家可以做得更詳細一點增加其他的功能模塊,在這里僅供大家參考,希望能給剛開始學(xué)習(xí)python的同學(xué)一點參考

3、首先創(chuàng)建數(shù)據(jù)庫

import pymysql
#定義數(shù)據(jù)庫連接參數(shù)
host = '127.0.0.1'
port = 3306
db = 'student'
user = 'root'
password = 'root'
#創(chuàng)建連接
con = pymysql.connect(host=host,
                      port=port,
                      db=db,
                      user=user,
                      password=password)
#創(chuàng)建游標(biāo)對象
cur = con.cursor()
#編寫sql語句
sql = """
      create table if not exists students(
      ids varchar(20) not null primary key,
      name varchar(30) not null,
      age int(2),
      gender varchar(10) not null,
      classes varchar(200) not null
      )
"""
try:
    #執(zhí)行sql語句
    cur.execute(sql)
    print('創(chuàng)建成功')
except Exception as e:
    print(e)
    print('創(chuàng)表失敗')
finally:
    #關(guān)閉連接
    con.close()

4、防止數(shù)據(jù)庫斷開操作

#數(shù)據(jù)庫自動檢測是否斷開并自動連接
def select_db():
    # 檢查連接是否斷開,如果斷開就進行重連
    con.ping(reconnect=True)
    cur.execute(sql)
    # 使用 fetchall() 獲取查詢結(jié)果
    data = cur.fetchall()
    return data

5、菜單

#菜單
def menu():
    print("1.增加學(xué)生信息")
    print("2.刪除學(xué)生信息")
    print("3.查找學(xué)生信息")
    print("4.修改學(xué)生信息")
    print("5.展示所有學(xué)生信息")
    print("0.退出系統(tǒng)")
    choose = input("請輸入你的操作:")
    return choose

6、編寫主函數(shù)

#定義主函數(shù)
def main():

    print("+----------------------------------------+")
    print("|          歡迎進入學(xué)生管理系統(tǒng)                |")
    print("+----------------------------------------+")
    while True:
        choose = menu()
        #增加學(xué)生信息
        if choose == '1':
            add()
        #刪除學(xué)生信息
        elif choose == '2':
            delete()
        #查找學(xué)生信息
        elif choose == '3':
            fund()
        #改變學(xué)生信息
        elif choose == '4':
            amend()
        #展示所有學(xué)生信息
        elif choose == '5':
            show()
        elif choose == '0':
            print("你已退出學(xué)生管理系統(tǒng)?。。?!")
        #非法輸入
        else:
            print("輸入錯誤,請沖向輸入??!")

7、添加學(xué)生信息

#添加學(xué)生信息
def add():
    select_db()
    #創(chuàng)建游標(biāo)對象
    cur = con.cursor(pymysql.cursors.SSCursor)
    print("增加學(xué)生信息開始")
    while True:
        try:
            ids = input("請輸入學(xué)號:")
            name = input("請輸入學(xué)生姓名:")
            age = input("親輸入學(xué)生年齡")
            gender = input("請輸入學(xué)生性別:")
            classes = input("請輸入學(xué)生班級:")
            values = [ids, name, age, gender, classes]
            if gender not in ("男", "女"):
                print("輸入錯誤,請輸入男或女!")
            # 執(zhí)行sql,將數(shù)據(jù)錄入數(shù)據(jù)庫
            sql = 'insert into students(ids,name,age,gender,classes) values(%s,%s,%s,%s,%s)'
            cur.execute(sql, values)
            if True:
                # 提交事務(wù)
                con.commit()
                print('添加學(xué)生信息成功')
                answer = input('是否繼續(xù)添加學(xué)生信息:“yes"or"no"\n')
                if answer != 'yes':
                    break
                else:
                    continue
        except Exception as e:
            print(e)
            # 數(shù)據(jù)回滾,保護數(shù)據(jù)庫
            con.rollback()
            print('添加學(xué)生信息失敗')
        finally:
            print("[增加學(xué)生信息結(jié)束]")
    con.close()
 

8、刪除學(xué)生信息

#刪除學(xué)生信息
def delete():
    select_db()
    # 創(chuàng)建游標(biāo)對象
    cur = con.cursor(pymysql.cursors.SSCursor)
    print("刪除學(xué)生信息開始")
    while True:
        try:
            ids = input("請輸入你要刪除的學(xué)生學(xué)號:")
            sql = 'delete from students where ids=%s'
            con.commit()
            # 執(zhí)行sql將數(shù)據(jù)從數(shù)據(jù)庫中刪除
            cur.execute(sql, ids)
            if True:
                # 提交事務(wù)
                con.commit()
                print('刪除學(xué)生信息成功')
                answer = input('是否繼續(xù)刪除學(xué)生信息:“yes"or"no"')
                if answer != 'yes':
                    break
                else:
                    continue
        except:
            # 數(shù)據(jù)回滾,保護數(shù)據(jù)庫
            con.rollback()
            print('刪除學(xué)生信息失敗')
        finally:
            print("刪除學(xué)生信息結(jié)束")
    con.close()

9、修改學(xué)生信息

#修改學(xué)生信息
def amend():
    select_db()
    # 創(chuàng)建游標(biāo)對象
    cur = con.cursor(pymysql.cursors.SSCursor)
    print("修改學(xué)生信息開始")
    while True:
        ids = input("請輸入你要修改信息學(xué)生的學(xué)號:")
        if ids != '':
           name = input("請輸入你要修改信息學(xué)生的姓名:")
           age = input("請輸入你要修改信息學(xué)生的年齡:")
           gender = input("請輸入你要修改信息學(xué)生的性別:")
           classes = input("請輸入你要修改信息學(xué)生的班級:")
           try:
               sql = f'update students set ids={ids},name={name},age={age},gender={gender},classes={classes}'
               #執(zhí)行sql,修改數(shù)據(jù)庫數(shù)據(jù)
               cur.execute(sql)
               con.commit()
           except:
               print("修改失敗")
               con.rollback()
           finally:
               print("修改學(xué)生信息結(jié)束")
           answer = input('是否繼續(xù)修改學(xué)生信息:”yes“or"no"')
           if answer != 'yes':
               break
           else:
               continue
        else:
            print('輸入錯誤請重新輸入')
            continue
        con.close()

10、查看學(xué)生信息

#查找學(xué)生信息
def fund():
    select_db()
    # 創(chuàng)建游標(biāo)對象
    cur = con.cursor(pymysql.cursors.SSCursor)
    print("查找學(xué)生信息開始")
    while True:
        try:
            mode = input('按學(xué)號查找請輸入:1,按姓名查找請輸入:2')
            if mode =='1':
                ids = input("請輸入你需要查找到學(xué)生學(xué)號:")
                sql = 'select from students where ids=%s'
                cur.execute(sql, ids)
                con.commit()
                print(cur.fetchall())
                answer = input('是否繼續(xù)查找學(xué)生信息:”yes“or”no“')
                if answer != 'yes':
                    break
                else:
                    continue
            elif mode == '2':
                name = input("請輸入你需要查找的學(xué)生姓名:")
                sql = 'select from students where name=%s'
                cur.execute(sql, name)
                con.commit()
                print(cur.fetchall())
                answer = input('是否繼續(xù)查找學(xué)生信息:”yes“or”no“')
                if answer != 'yes':
                    break
                else:
                    continue
            else:
                print("你的輸入有誤,請重新輸入")
                continue
        except:
            # 數(shù)據(jù)回滾,保護數(shù)據(jù)庫
            con.rollback()
        finally:
            print("查詢學(xué)生信息結(jié)束")
    con.close()

11、展示所有學(xué)生信息

def show():
    select_db()
    # 創(chuàng)建游標(biāo)對象
    cur = con.cursor(pymysql.cursors.SSCursor)
    sql = f'select * from students'
    cur.execute(sql)
    all = cur.fetchall()
    # print(len(all), type(all))
    format_title = '{:^6}\t{:^12}\t{:^8}\t{:^10}'
    print(format_title.format('ID', '姓名', '性別', '年齡'))
    format_data = '{:^6}\t{:^12}\t{:^8}\t{:^10}'
    for record in all:
        print(format_data.format(record[0], record[1], record[2], record[3]))
    con.close()

12、最后就是調(diào)用主函數(shù)

if __name__ == '__main__':
    main()

我把所有代碼都放在這里了,里面也都有詳細注釋,大家應(yīng)該都能看懂,希望我的這篇發(fā)文能夠幫助那些還在學(xué)習(xí)python的同學(xué),這只是一個很基礎(chǔ)的小項目,希望大家能都自己都能跑一下代碼感受一下,今天的分享就到此為止了,謝謝大家。文章來源地址http://www.zghlxwxcb.cn/news/detail-488379.html

到了這里,關(guān)于python+mysql的學(xué)生管理系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • (附源碼)python+mysql+基于python的學(xué)生成績管理系統(tǒng)  畢業(yè)設(shè)計071143

    (附源碼)python+mysql+基于python的學(xué)生成績管理系統(tǒng) 畢業(yè)設(shè)計071143

    Django學(xué)生成績管理 摘 要 在國家重視教育影響下,教育部門的密確配合下,對教育進行改革、多樣性、質(zhì)量等等的要求,使教育系統(tǒng)的管理和運營比過去十年前更加理性化。依照這一現(xiàn)實為基礎(chǔ),設(shè)計一個快捷而又方便的線上學(xué)生成績管理系統(tǒng)是一項十分重要并且有價值的事

    2024年02月04日
    瀏覽(29)
  • 【Python畢業(yè)設(shè)計】基于Python+Flask+MySQL的學(xué)生信息管理系統(tǒng)(附完整源碼)

    【Python畢業(yè)設(shè)計】基于Python+Flask+MySQL的學(xué)生信息管理系統(tǒng)(附完整源碼)

    1、項目說明 基于python+Flask+mysql的學(xué)生信息管理系統(tǒng)項目實戰(zhàn) 項目需要安裝pycharm專業(yè)版,mysql數(shù)據(jù)庫以及項目所需的所有模塊 創(chuàng)建數(shù)據(jù)庫名稱db_online_notes,然后執(zhí)行sql文件生成數(shù)據(jù)表和數(shù)據(jù) 項目需要安裝 flask,pymysql以及其他的一些模塊 安裝命令如下: pip install -i https://pypi

    2023年04月18日
    瀏覽(25)
  • python 實現(xiàn)學(xué)生信息管理系統(tǒng)+MySql 數(shù)據(jù)庫,包含源碼及相關(guān)實現(xiàn)說明~

    python 實現(xiàn)學(xué)生信息管理系統(tǒng)+MySql 數(shù)據(jù)庫,包含源碼及相關(guān)實現(xiàn)說明~

    1、系統(tǒng)說明 python 編寫的學(xué)生信息管理系統(tǒng)+MySQL數(shù)據(jù)庫,實現(xiàn)了增刪改查的基本功能。 2、數(shù)據(jù)庫說明 本人使用的是 MySQL8.0 版本 數(shù)據(jù)庫端口號為:3306 數(shù)據(jù)庫用戶名是:root 數(shù)據(jù)庫名稱是:practice 建立的表是:students 3、系統(tǒng)功能 增加學(xué)生信息 刪除學(xué)生信息 修改學(xué)生信息 查

    2024年02月11日
    瀏覽(27)
  • python Web開發(fā) flask輕量級Web框架實戰(zhàn)項目--學(xué)生管理系統(tǒng)

    python Web開發(fā) flask輕量級Web框架實戰(zhàn)項目--學(xué)生管理系統(tǒng)

    ?上次發(fā)的一篇文章,有很多朋友私信我要后面的部分,那咱們就今天來一起學(xué)習(xí)一下吧,因為我的數(shù)據(jù)庫這門課選中的課題是學(xué)生管理系統(tǒng),所以今天就以這個課題為例子,從0到1去實現(xiàn)一個管理系統(tǒng)。數(shù)據(jù)庫設(shè)計部分我會專門出一個博客的,敬請期待吧~~~ 介如很多朋友問

    2024年02月16日
    瀏覽(91)
  • java 學(xué)生信息管理系統(tǒng)Myeclipse開發(fā)mysql數(shù)據(jù)庫web結(jié)構(gòu)jsp編程計算機網(wǎng)頁項目

    java 學(xué)生信息管理系統(tǒng)Myeclipse開發(fā)mysql數(shù)據(jù)庫web結(jié)構(gòu)jsp編程計算機網(wǎng)頁項目

    一、源碼特點 ?? ?java 學(xué)生信息管理系統(tǒng)是一套完善的java web信息管理系統(tǒng),對理解JSP java編程開發(fā)語言有幫助,系統(tǒng)具有完整的源代碼和數(shù)據(jù)庫,系統(tǒng)主要采用B/S模式開發(fā)。開發(fā)環(huán)境為 TOMCAT7.0,Myeclipse8.5開發(fā),數(shù)據(jù)庫為Mysql5.0,使用java語言開發(fā)。 java 學(xué)生信息管理系統(tǒng) 二、

    2024年02月09日
    瀏覽(31)
  • mysql 學(xué)生信息管理系統(tǒng)

    mysql 學(xué)生信息管理系統(tǒng)

    一、分析 ①業(yè)務(wù)分析: 學(xué)生信息管理系統(tǒng)是面向?qū)W生和學(xué)校教師的一個多功能數(shù)據(jù)管理平臺 ②系統(tǒng)分析: 本系統(tǒng)所涉及到的用戶有學(xué)校學(xué)生和教師,對于不同的用戶系統(tǒng)所提供的功能也有所不同,其中對于學(xué)生來說,學(xué)生可以提供該系統(tǒng)進行自身數(shù)據(jù)的查詢,教師可以通過

    2024年02月10日
    瀏覽(24)
  • 學(xué)生管理系統(tǒng)(MySQL版)

    學(xué)生管理系統(tǒng)(MySQL版)

    學(xué)號 姓名 性 別 年齡 班級 專業(yè) 學(xué)院 電話 2021001 李曉紅 女 30 2021級軟件4班 軟件技術(shù) 人工智能與大數(shù)據(jù)學(xué)院 15945456780 2021002 王曉剛 男 18 2021級軟件4班 軟件技術(shù) 人工智能與大數(shù)據(jù)學(xué)院 13890904567 2021003 唐雨涵 女 19 2021級軟件4班 軟件技術(shù) 人工智能與大數(shù)據(jù)學(xué)院 18878789023 202110

    2024年02月08日
    瀏覽(17)
  • Vue項目:學(xué)生管理系統(tǒng)

    Vue項目:學(xué)生管理系統(tǒng)

    ?? 個人主頁: ?陶然同學(xué) ?? 版權(quán): ?本文由【陶然同學(xué)】原創(chuàng)、在CSDN首發(fā)、需要轉(zhuǎn)載請聯(lián)系博主 ?? 如果文章對你有幫助、 歡迎關(guān)注、點贊、收藏(一鍵三連)和訂閱專欄哦 ??? 想尋找共同成長的小伙伴,請點擊【 Java全棧開發(fā)社區(qū) 】 步驟1:設(shè)置導(dǎo)航 ?步驟2:添加路由 步

    2024年02月02日
    瀏覽(14)
  • QT項目-學(xué)生管理系統(tǒng)

    QT項目-學(xué)生管理系統(tǒng)

    ? 本文章主要講解本人在QT學(xué)習(xí)期間所開發(fā)的項目-學(xué)生管理系統(tǒng),代碼主要參考于網(wǎng)上查找。 ?功能主要包括,學(xué)生信息的插入刪除,以及修改。 再加上按照id,或者成績的升降序排序 1.pro 2.widget.h 3. main.cpp 4.widget.cpp 5.widget.ui 總結(jié) 項目處于學(xué)習(xí)階段所做,參考了一些網(wǎng)絡(luò)上

    2024年02月12日
    瀏覽(18)
  • 學(xué)生管理系統(tǒng)-01項目簡介

    一、項目簡介 項目名稱:學(xué)生管理系統(tǒng) 項目功能 用戶管理 用戶登錄 用戶的注冊 用戶增加 用戶刪除 用戶的修改 學(xué)生管理 用戶的列表渲染 用戶的分頁操作 用戶的搜索 用戶的增加 用戶刪除 用戶編輯 excel報表的導(dǎo)出 班級管理 專業(yè)管理 班主任管理 教師管理 課程管理 可視化

    2024年02月15日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包