python连接数据库实现登录注册_【原创】Python3 连接MySQL数据库,实现注册、登录、成绩录入与查看功能...

本文展示了如何使用Python3连接MySQL数据库,实现用户注册、登录功能,并详细介绍了成绩录入与查询以及选课操作的实现过程。通过创建Student类,实现了数据库操作的相关方法,包括用户输入交互和SQL语句的执行。
摘要由CSDN通过智能技术生成

import pymysql

class Student:

def register(self):

print("=============注册页面=============")

n = 3

user = input("请输入账号:").strip()

while n > 0:

n = n - 1

pass_wd = input("请输入密码:").strip()

pass_wd_sec = input("确认你的密码:").strip()

sql_1 = "insert into student_info(user_name,passwd) values(%s,%s)"

if pass_wd != pass_wd_sec:

print("两次输入不一致,请重新输入!\n")

print("你还有" + str(n) + "次机会!")

continue

else:

res_1 = [user, pass_wd_sec]

cur.execute(sql_1, res_1)

conn.commit()

print("注册成功!\n")

break

def login(self):

n = 3

sql = "select passwd from student_info where user_name =%s"

res = [user]

cur.execute(sql, res)

psw = cur.fetchall()

while n > 0:

n = n - 1

pass_wd = input("请输入你的密码:").strip()

if pass_wd != psw[0][0]:

print("密码错误,请重新输入!\n")

print("你还有" + str(n) + "次机会!")

continue

else:

print("登录成功!\n")

break

def achievement(self):

# 这里实现成绩录入与成绩查询

print("=================成绩录入与查询=====================")

status = input("选择你的操作 【0:录入,1:查看,其他:退出】")

while True:

if status == '0':

student_no = input("学号:")

subject_name = input("课程名称:")

score = int(input("课程分数"))

rest_insert = [student_no, subject_name, score]

cur.execute(sql_insert, rest_insert)

conn.commit()

break

elif status == '1':

student_no = input("学号:")

rest_choice = [student_no]

cur.execute(sql_choice, rest_choice)

rest_cho = cur.fetchall()

for sc in rest_cho:

print(sc)

conn.commit()

break

else:

break

def course_selection(self):

print("\n===================选课模块===============")

student_no = input("输入学号:")

while True:

alternative = input("请操作【1|查看我的课程 2|查看当前所有可选课程 3|选课 other|退出】:")

if alternative == "1":

my_res = [student_no]

cur.execute(my_sql, my_res)

my_subject = cur.fetchall()

conn.commit()

for i in my_subject:

print(str(i))

print("以上是你当前所有的课程!\n")

elif alternative == "2":

cur.execute(all_sql)

all_subject = cur.fetchall()

conn.commit()

for i in all_subject:

print(str(i))

print("以上是你当前可选的课程有\n")

elif alternative == "3":

subject_name = input("请输入你要选择的课程名称:\n")

subject_id = input("请输入你要选择的课程id:\n")

all_to_my_res = [student_no, subject_id, subject_name]

cur.execute(all_to_my, all_to_my_res)

conn.commit()

print("本次选课结果为" + str(all_to_my_res) + "\n")

else:

print("欢迎下次使用!")

break

if __name__ == '__main__':

user = input("请输入账号:").strip()

conn = pymysql.connect(

host="localhost",

port=3306,

user="root",

passwd="mysql",

db="student",

charset="utf8")

cur = conn.cursor()

sql = "select user_name from student_info where user_name =%s"

my_sql = "select subject_id, subject_name from my_subject where student_no = %s;"

sql_insert = "insert into student_score(student_no,subject_name,score) values(%s,%s,%s)"

sql_choice = "select * from student_score where student_no = %s"

all_sql = "select * from subject_choice;"

all_to_my = "insert into my_subject(student_no, subject_id, subject_name) VALUES (%s,%s,%s)"

res = [user]

cur.execute(sql, res)

name = cur.fetchall()

s = Student()

if name == ():

print("账号不存在,请返回注册\n")

s.register()

print("=============登录界面=============")

user = input("请输入账号:").strip()

s.login()

s.achievement()

else:

s.login()

s.achievement()

s.course_selection()

cur.close()

conn.close()

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值