python sqlite学生管理システム

4478 ワード

sqlite関数パッケージ学生学部管理import sqlite 3
def create_table(): connect = sqlite3.connect(‘testsqlite.db’) cursor = connect.cursor() cursor.execute("""CREATE TABLE students ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, sex TEXT, age INTEGER, phone TEXT ); “”") connect.commit() cursor.close() connect.close()
def show_students():
print('  \t\t  \t\t  \t\t  \t\t  \t\t')
print("------------------------------------")
connect = sqlite3.connect("testsqlite.db")
cursor = connect.cursor()
cursor.execute("""
   SELECT * FROM students;
""")
student_list = cursor.fetchall()  # [(1,  ,  ,  ,  )]
for index, student in enumerate(student_list):
    print(f'{index+1}\t\t{student[1]}\t\t{student[2]}\t\t{student[3]}\t\t{student[4]}')
cursor.close()
connect.close()

def add_students():name=input(‘新入生名:’)sex=input(‘新入生性別:’)age=input(‘新入生年齢:’)phone=input(‘新入生電話:’)
connect = sqlite3.connect("testsqlite.db")
cursor = connect.cursor()
# sql = """
#     INSERT INTO students (name,sex, age, phone) VALUES("%s","%s", %s, "%s");""" %(name, sex, int(age),phone)
sql = f"""
    INSERT INTO students (name,sex, age, phone) VALUES("{name}","{sex}","{age}","{phone}");
"""
print(sql)
cursor.execute(sql)
connect.commit()
connect.close()

def uptade_students():number=int(input(‘何人目の学生を修正するか:’))new_name=input('修正後の名前は:')new_sex=input('修正後の性別:')new_age=int(input(‘修正後の年齢:’))new_phone=input(‘修正後の電話;’)
connect = sqlite3.connect("testsqlite.db")
cursor = connect.cursor()
sqli = f"""
       UPDATE students SET name="{new_name}",sex="{new_sex}",age={new_age},phone="{new_phone}" WHERE id={number};
   """

cursor.execute(sqli)
connect.commit()
connect.close()
print('    ')

def delete_students():print("""サブオペレーション番号を入力してください:1.学生番号で削除2.すべての学生を削除")num=int(input(‘サブオペレーションを選択してください:’))if num==1:stu_num=int(input(‘何人目の学生を削除するか:’))
    connect = sqlite3.connect("testsqlite.db")
    cursor = connect.cursor()
    cursor.execute(f"""
       DELETE FROM students WHERE id={stu_num-1};
   """)
    connect.commit()
    connect.close()

    print('    ')
elif num == 2:
    confirm = input('      ?(Y/N)')
    if confirm == 'Y' or confirm == 'y':
        connect = sqlite3.connect("testsqlite.db")
        cursor = connect.cursor()
        cursor.execute(f"""
          DELETE FROM students;
       """)
        connect.commit()
        connect.close()

        print('      ')

def main():メイン関数、プログラムエントリ.while True:print(「1-学習者名の検索2-学習者名の追加3-学習者名の変更4-学習者名の削除0-プログラムの終了」)
    num = int(input('       '))

    if num == 1:
        show_students()
    elif num == 2:
        add_students()
    elif num == 3:
        uptade_students()
    elif num == 4:
        delete_students()
    elif num == 0:
        break

if name==“main”:#この書き方の意味は「バッグ、モジュール」の一節で中華に紹介されます.main()
出力結果1-学習者名の検索2-学習者名の追加3-学習者名の変更4-学習者名の削除0-プログラムを終了します操作番号1行番号氏名年齢性別電話を入力してください
1小明男17 32454657676 2李男21 2345545666 3 fghgf fg ggh 56565 4 bfb 34 34546677 5 xin nvf fkiv 3245687 6 3
    1-      
    2-      
    3-      
    4-      
    0-    

操作番号2新しい学生の名前を入力してください:小さな新しい学生の性別:男性の新しい学生の年齢:12新しい学生の電話:1243657879989
    INSERT INTO students (name,sex, age, phone) VALUES("  "," ","12","1243657879989");


    1-      
    2-      
    3-      
    4-      
    0-    

操作番号3を入力して何番目の学生を修正してください:2修正後の名前は:v修正後の性別に結ぶ:男性修正後の年齢:23修正後の電話;21434545666修正成功
    1-      
    2-      
    3-      
    4-      
    0-    

操作番号4を入力してください.サブ操作番号:1を入力してください.生徒番号で2を削除する.すべての生徒を削除
サブアクションを選択してください:1何人目の学生を削除するには:4削除に成功しました
    1-      
    2-      
    3-      
    4-      
    0-    

操作番号1行番号氏名年齢性別電話を入力してください
1小明男17 32454657676 2 fghgf fg ggh 56565 3 bfb 34 34546677 4 xin nvf fkiv 3245687 5 5 3 6小塊男12 1243657879989
    1-      
    2-      
    3-      
    4-      
    0-    

操作番号を入力してください