python 學生信息管理系統


python與數據庫的例子

初始化數據庫

鏈接數據庫創建庫和表並插入數據

init.py

import pymysql
sql_base='create database school;'
sql_table='''create table student(sno   varchar(20) primary key,
                                sname  char(10),
                                sage   int(10),
                                sex     char(4),
                                sacademy  char(10),
                                sgrade     char(9),
                                sclass     char(10))default charset=utf8;'''

DB=pymysql.connect(host='localhost',passwd='1234',charset='utf8',user='root')
cursor=DB.cursor()
cursor.execute(sql_base)
cursor.execute('use school')
cursor.execute(sql_table)

sql_insert='''insert into student values('2016081111','張三',20,'男','軟件工程學院','2016',3),
                                        ('2016061111','王傑',21,'男','網絡工程學院','2016',3),
                                        ('2016071113','周順',19,'男','大氣科學學院','2016',3),
                                        ('2017081180','李偉',20,'男','軟件工程學院','2017',2),
                                        ('2016081201','王麗',20,'女','軟件工程學院','2016',5);'''''
cursor.execute(sql_insert)
DB.commit()

實現各種功能

func.py

DB=None
import pymysql
class Method():

    def __init__(self):
        self.qurey_sql='select * from student'


    def qurey_all(self):
        cursor=DB.cursor()
        print('學號  \t     姓名   年齡  性別\t學院\t      學年  班級\t')
        cursor.execute(self.qurey_sql)
        info=cursor.fetchall()
        for i in info:
            if i != info[0]:
                print()
            for j in i:
                print(j,end='   ')
        cursor.close()
    def qurey_sno(self):
        try:
            cursor=DB.cursor()
            sno = input('請輸入學號:')
            print('學號  \t     姓名   年齡  性別\t學院\t      學年  班級\t')
            sno_sql = 'select * from student where sno=%s'%(sno)
            cursor.execute(sno_sql)
            a=cursor.fetchall()[0]
            for i in a:
                print(i,end='   ')
        except  Exception as e:
            print('有錯誤',e)
        finally:
            cursor.close()

    def qurey_sname(self):
        try:
            cursor=DB.cursor()
            sname = input('請輸入姓名:')
            print('學號  \t     姓名   年齡  性別\t學院\t      學年  班級\t')
            sno_sql = 'select * from student where sname="%s"'%(sname)
            cursor.execute(sno_sql)
            for i in cursor.fetchall()[0]:
                print(i ,end='   ')
        except Exception as e:
            print('有錯誤',e)
        finally:
            cursor.close()
    def qurey_academy(self):
        try:
            cursor=DB.cursor()
            academy = input('請輸入學院:')
            print('學號  \t     姓名   年齡  性別\t學院\t      學年  班級\t')
            academy_sql = 'select * from student where sacademy="%s"' % (academy)
            cursor.execute(academy_sql)
            x=cursor.fetchall()
            for i in x:
                if i != x[0]:
                    print()
                for j in i:
                    print(j,end='   ')
        except Exception as e:
            print('有錯誤',e)
        finally:
            cursor.close()
    def add_info(self):
        try:
            cursor=DB.cursor()
            info=list(input('請輸入添加的信息   學號  姓名  年齡 性別   學院   年級 班級:\n(每項空格隔開)').split(' '))
            sql_insert='''insert into student values('%s','%s',%d,'%s','%s','%s','%s')'''\
                %(info[0],info[1],int(info[2]),info[3],info[4],info[5],info[6])
            cursor.execute(sql_insert)
            DB.commit()
        except Exception as e:
            print('有錯誤',e)
        finally:
            cursor.close()

    def modify_info(self):
        try:
            cursor=DB.cursor()
            sname=input('請輸入修改學生的名字:')
            sno_sql = 'select * from student where sname="%s"' % (sname)
            cursor.execute(sno_sql)
            print('學號  \t     姓名   年齡  性別\t學院\t      學年  班級\t')
            for i in cursor.fetchall()[0]:
                print(i, end='   ')
            ch=input('\n請輸入要修改的字段 :')
            if ch == '學號':
                ch = 'sno'
            if ch == '姓名':
                ch = 'sname'
            if ch == '年齡':
                ch = 'sage'
            if ch == '性別':
                ch = 'sex'
            if ch == '學院':
                ch = 'sacademy'
            if ch == '學年':
                ch = 'sgrade'
            if ch == '班級':
                ch = 'sclass'
            context=input('請輸入要修改的信息')
            up_sql='update student set %s="%s" where sname="%s";'%(ch,context,sname)
            cursor.execute(up_sql)
            DB.commit()
            if ch == 'sname':
                sno_sql = 'select * from student where sname="%s"' % (context)
                cursor.execute(sno_sql)
                print('學號  \t     姓名   年齡  性別\t學院\t      學年  班級\t')
                for i in cursor.fetchall()[0]:
                    print(i,end='   ')
            else:
                cursor.execute(sno_sql)
                print('學號  \t     姓名   年齡  性別\t學院\t      學年  班級\t')
                for i in cursor.fetchall()[0]:
                    print(i, end='   ')
        except Exception as e:
            print('錯誤',e)
        finally:
            cursor.close()

    def delete(self):
        try:
            cursor=DB.cursor()
            cursor.execute(self.qurey_sql)
            for i in cursor.fetchall():
                print(i)
            del1=input('請輸入要刪除的學生姓名')
            del_sql='delete from student where sname="%s"'%del1
            #print(del_sql)
            cursor.execute(del_sql)
            DB.commit()
        except Exception as e:
            print('出錯',e)
        finally:
            cursor.close()


def main():
    global DB
    DB=pymysql.connect(host='localhost',user='root',password='1234',charset='utf8',database='school')
    method=Method()
    print('請選擇您的操作:\n1.查詢所有學生的信息\t2.按學號查詢學生的信息\t3.按姓名查詢學生的信息\n4.按學院查詢學生的信息\t5.添加學生信息'
        '\t6.修改學生信息\n7.刪除學生信息\t8.退出',end='')
    while True:
        c=input('\n請輸入功能: (s=功能選項)')
        if c == '1':
            method.qurey_all()
        if c == '2':
            method.qurey_sno()
        if c == '3':
            method.qurey_sname()
        if c == '4':
            method.qurey_academy()
        if c == '5':
            method.add_info()
        if c == '6':
            method.modify_info()
        if c == '7':
            method.delete()
        if c == '8':
            DB.close()
            print('感謝使用')
            break

        if c == 's':
            print('請選擇您的操作:\n1.查詢所有學生的信息\t2.按學號查詢學生的信息\t3.按姓名查詢學生的信息\n'
                '4.按學院查詢學生的信息\t5.添加學生信息'
                '\t6.修改學生信息\n7.刪除學生信息\t8.退出', end='')

main()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM