1、个人版本
def database_connect():
import pymysql
db = pymysql.connect('127.0.0.1','root','123','student_info_library')
cursor = db.cursor()
sql = 'select * from student_table;'
cursor.execute(sql)
user_list_tuple = cursor.fetchall()
i = 0
while i < len(user_list_tuple):
user_list.append(user_list_tuple[i])
i += 1
cursor.close()
db.close()
print('提取的用户名信息:', user_list)
print('数据提取成功,断开数据库连接')
def menu():
print('请输入相应数字进入相应功能:\n1、注册\n2、登录\n3、退出')
def register():
user_reg = input('请输入要注册的用户名:')
password_reg = input('请输入要注册的密码:')
user_tuple = (user_reg,password_reg)
has_reg = 0
i = 0
while i < len(user_list):
if user_reg == user_list[i][0]:
has_reg = 1
i += 1
if has_reg == 0:
new_user_list.append(user_tuple)
print('注册成功')
else:
print('此用户名已注册,请换其他用户名重新注册')
print(new_user_list)
def login():
user_login = input('请输入已注册的用户名:')
password_login = input('请输入已注册用户名的密码:')
is_true = 0
i = 0
while i < len(user_list):
if user_login in user_list[i] and password_login in user_list[i]:
is_true = 1
i += 1
if is_true == 1:
print('登录成功')
else:
print('用户名或密码有误')
def exit():
import sys
if len(new_user_list) > 0:
save_data()
print('谢谢使用')
sys.exit()
def save_data():
import pymysql
db = pymysql.connect('127.0.0.1','root','123','student_info_library')
cursor = db.cursor()
sql = 'insert into student_table (username,password) values (%s,%s);'
i = 0
while i < len(new_user_list):
user_info = new_user_list[i]
cursor.execute(sql,user_info)
i += 1
db.commit()
cursor.close()
db.close()
print(new_user_list)
print('新数据添加完成!断开数据库连接')
user_list = []
new_user_list = []
database_connect()
while True:
menu()
num = input('请输入功能选项:')
if num == '1':
register()
elif num == '2':
login()
elif num == '3':
exit()
else:
print('输入有误,请重新输入')
2、专业版本
"""
1.什么时候取数据?
程序最开始的地方,将所有数据,从数据库中提取出来,存储到列表中
2.什么时候存储数据?
退出时候,存储数据
"""
import sys
import pymysql
user_list = []
new_user_list = []
def loadData():
db = pymysql.connect('localhost','root','123','db2')
cursor = db.cursor()
sql = 'select * from user'
cursor.execute(sql)
all_users = cursor.fetchall()
print(all_users)
i = 0
while i < len(all_users):
user_list.append(all_users[i])
i += 1
print(user_list)
cursor.close()
db.close()
def showMenu():
print('1、注册\n2、登录\n3、退出')
def register():
user_register = input('请输入要注册的用户名')
password_register = input('请输入要注册的密码')
user_tuple = (user_register, password_register)
has_register = 0
i = 0
while i < len(user_list):
user_t = user_list[i]
if user_register in user_t:
has_register = 1
i += 1
if has_register == 0:
new_user_list.append(user_tuple)
print('注册成功')
else:
print('当前用户名已存在')
print(user_list)
def login():
user_login = input('请输入之前注册的用户名')
password_login = input('请输入之前注册的密码')
is_true = 0
i = 0
while i < len(user_list):
if user_login in user_list[i] and password_login in user_list[i]:
is_true = 1
i += 1
if is_true == 1:
print('登录成功')
else:
print('用户名或密码有误')
def saveData():
db = pymysql.connect('localhost', 'root', '123', 'db2')
cursor = db.cursor()
sql = 'insert into user (name,password) values (%s,%s)'
i = 0
while i < len(new_user_list):
user = new_user_list[i]
cursor.execute(sql, user)
i += 1
db.commit()
cursor.close()
db.close()
def sys_exit():
if len(new_user_list) > 0:
saveData()
print('谢谢使用')
sys.exit()
loadData()
while True:
showMenu()
choice = input('请选择1-3:')
if choice == '1':
register()
elif choice == '2':
login()
elif choice == '3':
sys_exit()
else:
print('输入有误,请重新输入')