在这篇博客中,我们将展示如何使用Python实现一个简单的用户注册功能,并将注册信息存储到MySQL数据库中。我们将使用pymysql
库来连接和操作MySQL数据库。下面是实现的详细步骤。
环境准备
在开始之前,请确保你的系统上已经安装了以下工具和库:
- Python 3.x
- MySQL
pymysql
库
你可以使用以下命令来安装pymysql
库:
pip install pymysql
项目结构
我们将项目分为两个文件:
pymysqlutil.py
:包含MySQL数据库操作的工具类。8.用户注册功能.py
:实现用户注册功能的主程序。
MySQL工具类
首先,我们编写一个MySQL工具类,用于连接数据库并执行查询。将以下代码保存为pymysqlutil.py
:
import pymysql
class MysqlUtil:
def __init__(self):
# 初始化连接MySQL数据库
self.con = pymysql.connect(
host="127.0.0.1", # 数据库主机地址
user="root", # 数据库用户名
password="123456", # 数据库密码
database='db_xzb', # 数据库名称
port=3306 # 数据库端口
)
print(self.con) # 打印连接对象
self.cursor = self.con.cursor() # 创建游标对象
def __del__(self):
# 对象销毁时,提交未提交的事务,关闭游标和连接
self.con.commit()
self.cursor.close()
self.con.close()
def query_one(self, sql, args=None):
# 执行单条SQL查询
if args is not None:
self.cursor.execute(sql, args)
else:
self.cursor.execute(sql)
return self.cursor.fetchone()
def query_many(self, sql, size=1, args=None):
# 执行多条SQL查询
if args is not None:
self.cursor.execute(sql, args)
else:
self.cursor.execute(sql)
return self.cursor.fetchmany(size)
def query_all(self, sql, args=None):
# 执行所有SQL查询
if args is not None:
self.cursor.execute(sql, args)
else:
self.cursor.execute(sql)
return self.cursor.fetchall()
def operator_data(self, sql, args=None):
# 执行数据操作(插入、更新、删除)
if args is not None:
result = self.cursor.execute(sql, args)
else:
result = self.cursor.execute(sql)
return result
用户注册功能
接下来,我们编写用户注册功能的主程序。将以下代码保存为8.用户注册功能.py
:
from pymysqlutil import MysqlUtil
import hashlib
from datetime import datetime
def register():
username = input("输入用户名:") # 获取用户名输入
password = input("输入用户密码:") # 获取用户密码输入
password = hashlib.md5(password.encode('utf8')).hexdigest() # 使用MD5对密码进行加密
real_name = input("输入真实姓名:") # 获取真实姓名输入
tel = input("输入电话号码:") # 获取电话号码输入
# 验证生日输入格式
while True:
birth = input("请输入生日(格式:YYYY-MM-DD):") # 获取生日输入
try:
datetime.strptime(birth, "%Y-%m-%d") # 检查日期格式是否正确
break
except ValueError:
print("日期格式错误,请重新输入。") # 格式错误时提示用户重新输入
email = input("输入邮箱:") # 获取邮箱输入
sex = input("输入性别:") # 获取性别输入
avatar = "" # 头像默认值为空
state = int(input("请输入用户状态:数值型")) # 获取用户状态输入
create_time = "2024-10-22" # 创建时间
update_time = "2024-10-22" # 更新时间
delete = int(input("请输入删除标志:数值型")) # 获取删除标志输入
# 生成插入SQL语句
sql = f"insert into tb_user values('8', '{username}', '{password}', '{real_name}', '{tel}', '{birth}', '{email}', '{sex}', '{avatar}', {state}, '{create_time}', '{update_time}', {delete})"
mysqlUtil = MysqlUtil() # 创建MySQL工具类实例
result = mysqlUtil.operator_data(sql) # 执行SQL插入操作
print(result) # 打印操作结果
if __name__ == '__main__':
register() # 调用注册函数
运行程序
确保你的MySQL数据库已经启动,并且已经创建了名为db_xzb
的数据库和相应的tb_user
表。然后运行8.用户注册功能.py
文件,按照提示输入用户信息,程序将自动将这些信息插入到数据库中。
总结
在这篇博客中,我们展示了如何使用Python和pymysql
库实现用户注册功能,并将用户信息存储到MySQL数据库中。希望这篇文章对你有所帮助!