집 >데이터 베이스 >MySQL 튜토리얼 >MySQL과 Python을 사용하여 간단한 온라인 티켓 예약 시스템을 개발하는 방법
MySQL과 Python을 사용하여 간단한 온라인 티켓 예약 시스템을 개발하는 방법
인터넷의 급속한 발전으로 점점 더 많은 사람들이 쇼핑, 예약 및 기타 활동을 위해 온라인 서비스를 사용하기 시작했습니다. 온라인 티켓 예약 시스템은 일반적인 적용 시나리오 중 하나입니다. 이 기사에서는 MySQL과 Python을 사용하여 간단한 온라인 티켓 예약 시스템을 개발하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.
먼저 티켓 정보, 사용자 정보, 주문 정보를 저장할 데이터베이스를 설계해야 합니다. 다음은 간단한 데이터베이스 설계 예입니다.
티켓 테이블(티켓):
User 테이블(사용자):
Order 테이블(주문):
MySQL 명령줄 또는 MySQL Workbench와 같은 도구를 사용하여 "ticket_booking"이라는 데이터베이스를 만든 다음 데이터베이스에 위의 세 가지 테이블을 만듭니다.
Python 코드에서는 MySQL을 사용하여 데이터베이스에 연결해야 합니다. 먼저 pip 명령을 사용하여 설치할 수 있는 Python용 MySQL 드라이버를 설치해야 합니다.
pip install mysql-connector-python
그런 다음 다음 코드를 통해 MySQL 데이터베이스에 연결합니다.
import mysql.connector # 创建数据库连接 mydb = mysql.connector.connect( host="localhost", user="username", password="password", database="ticket_booking" ) # 创建游标对象 cursor = mydb.cursor()
코드에서 "username"을 바꿔야 합니다. "password"를 MySQL 데이터베이스 사용자 이름과 비밀번호로 바꾸세요. 이 코드는 "ticket_booking"이라는 데이터베이스에 연결됩니다.
사용자가 시스템을 사용하려면 사용자 등록 및 로그인 기능을 구현해야 합니다. 다음은 간단한 샘플 코드입니다.
def register_user(name, email, password): # 检查邮箱是否已被注册 cursor.execute("SELECT * FROM user WHERE email = %s", (email,)) if cursor.fetchone() is not None: print("该邮箱已被注册!") return False # 将用户信息插入数据库 cursor.execute("INSERT INTO user (name, email, password) VALUES (%s, %s, %s)", (name, email, password)) mydb.commit() print("用户注册成功!") return True def login_user(email, password): # 查询用户信息 cursor.execute("SELECT user_id FROM user WHERE email = %s AND password = %s", (email, password)) user = cursor.fetchone() if user is not None: print("用户登录成功!") return user[0] print("邮箱或密码错误!") return None
위 코드에서 register_user
함수는 사용자 등록 정보를 데이터베이스에 삽입하고 login_user
함수가 성공적으로 등록되면 True를 반환합니다. 사용자의 이메일과 비밀번호가 맞는지 확인하고 사용자 ID를 반환합니다. register_user
函数将用户注册信息插入数据库,并在注册成功后返回True;login_user
函数则验证用户邮箱和密码是否正确,并返回用户ID。
现在我们来实现在线门票预订功能。以下是一个简单的实现示例:
def book_ticket(user_id, ticket_id, quantity): # 检查门票数量是否足够 cursor.execute("SELECT quantity FROM ticket WHERE ticket_id = %s", (ticket_id,)) ticket_quantity = cursor.fetchone()[0] if ticket_quantity < quantity: print("门票数量不足,请重新选择!") return False # 计算订单总价 cursor.execute("SELECT price FROM ticket WHERE ticket_id = %s", (ticket_id,)) ticket_price = cursor.fetchone()[0] total_price = ticket_price * quantity # 创建订单 cursor.execute("INSERT INTO `order` (user_id, ticket_id, quantity, total_price) VALUES (%s, %s, %s, %s)", (user_id, ticket_id, quantity, total_price)) mydb.commit() print("订单创建成功!") return True
以上代码中,book_ticket
# 注册用户 register_user("张三", "zhangsan@gmail.com", "123456") # 用户登录 user_id = login_user("zhangsan@gmail.com", "123456") # 预订门票 book_ticket(user_id, 1, 3)
위 코드에서 book_ticket
함수는 먼저 티켓 수가 충분한지 확인한 다음 총 주문 가격을 계산하고 주문 정보를 데이터베이스에 삽입합니다. .
위 내용은 MySQL과 Python을 사용하여 간단한 온라인 티켓 예약 시스템을 개발하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!