python sqlite學生管理系統
sqlite 函式封裝學生系管理
import sqlite3
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 23445545666
3 fghgf fg ggh 56565
4 bfb 34 56 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 56 34546677
4 xin nvf fkiv 3245687
5 3
6 小塊 男 12 1243657879989
1-查詢學員姓名
2-新增學員姓名
3-修改學員姓名
4-刪除學員姓名
0-退出程式
請輸入操作編號