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 小明 男 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 小明 男 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-退出程序
请输入操作编号