智能酒店入住登记数据管理示例:基于MySQL的代码实现
随着科技的不断发展,酒店行业也在不断寻求创新和智能化。智能酒店入住登记数据管理是酒店信息化建设的重要组成部分,它不仅提高了入住登记的效率,还保证了客户隐私和数据安全。本文将围绕这一主题,使用MySQL数据库和相应的代码技术,展示如何实现一个智能酒店入住登记数据管理系统。
MySQL数据库设计
在开始编写代码之前,我们需要设计一个合理的数据库结构。以下是一个简单的数据库设计示例:
1. 数据库表结构
客户信息表(customers)
| 字段名 | 数据类型 | 说明 |
| ------------ | ------------ | ---------- |
| customer_id | INT | 客户ID |
| name | VARCHAR(100) | 客户姓名 |
| gender | CHAR(1) | 性别 |
| id_card | VARCHAR(20) | 身份证号 |
| phone | VARCHAR(15) | 联系电话 |
| email | VARCHAR(50) | 邮箱 |
| create_time | DATETIME | 创建时间 |
房间信息表(rooms)
| 字段名 | 数据类型 | 说明 |
| ------------ | ------------ | ---------- |
| room_id | INT | 房间ID |
| room_type | VARCHAR(50) | 房间类型 |
| price | DECIMAL(10, 2)| 房间价格 |
| status | CHAR(1) | 房间状态(0:空,1:占用)|
| create_time | DATETIME | 创建时间 |
入住信息表(check_ins)
| 字段名 | 数据类型 | 说明 |
| ------------ | ------------ | ---------- |
| check_in_id | INT | 入住ID |
| customer_id | INT | 客户ID |
| room_id | INT | 房间ID |
| check_in_time| DATETIME | 入住时间 |
| check_out_time| DATETIME | 离店时间 |
| total_price | DECIMAL(10, 2)| 总价 |
2. 数据库创建与初始化
sql
CREATE DATABASE IF NOT EXISTS hotel_management;
USE hotel_management;
CREATE TABLE customers (
customer_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
gender CHAR(1) NOT NULL,
id_card VARCHAR(20) NOT NULL,
phone VARCHAR(15) NOT NULL,
email VARCHAR(50),
create_time DATETIME DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE rooms (
room_id INT AUTO_INCREMENT PRIMARY KEY,
room_type VARCHAR(50) NOT NULL,
price DECIMAL(10, 2) NOT NULL,
status CHAR(1) DEFAULT '0',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE check_ins (
check_in_id INT AUTO_INCREMENT PRIMARY KEY,
customer_id INT NOT NULL,
room_id INT NOT NULL,
check_in_time DATETIME NOT NULL,
check_out_time DATETIME,
total_price DECIMAL(10, 2),
FOREIGN KEY (customer_id) REFERENCES customers(customer_id),
FOREIGN KEY (room_id) REFERENCES rooms(room_id)
);
代码实现
1. 数据库连接
python
import mysql.connector
def connect_db():
conn = mysql.connector.connect(
host='localhost',
user='your_username',
password='your_password',
database='hotel_management'
)
return conn
2. 客户信息管理
添加客户信息
python
def add_customer(name, gender, id_card, phone, email):
conn = connect_db()
cursor = conn.cursor()
sql = "INSERT INTO customers (name, gender, id_card, phone, email) VALUES (%s, %s, %s, %s, %s)"
cursor.execute(sql, (name, gender, id_card, phone, email))
conn.commit()
cursor.close()
conn.close()
查询客户信息
python
def query_customer(customer_id):
conn = connect_db()
cursor = conn.cursor()
sql = "SELECT FROM customers WHERE customer_id = %s"
cursor.execute(sql, (customer_id,))
result = cursor.fetchone()
cursor.close()
conn.close()
return result
3. 房间信息管理
添加房间信息
python
def add_room(room_type, price):
conn = connect_db()
cursor = conn.cursor()
sql = "INSERT INTO rooms (room_type, price) VALUES (%s, %s)"
cursor.execute(sql, (room_type, price))
conn.commit()
cursor.close()
conn.close()
查询房间信息
python
def query_room(room_id):
conn = connect_db()
cursor = conn.cursor()
sql = "SELECT FROM rooms WHERE room_id = %s"
cursor.execute(sql, (room_id,))
result = cursor.fetchone()
cursor.close()
conn.close()
return result
4. 入住信息管理
添加入住信息
python
def add_check_in(customer_id, room_id, check_in_time, check_out_time, total_price):
conn = connect_db()
cursor = conn.cursor()
sql = "INSERT INTO check_ins (customer_id, room_id, check_in_time, check_out_time, total_price) VALUES (%s, %s, %s, %s, %s)"
cursor.execute(sql, (customer_id, room_id, check_in_time, check_out_time, total_price))
conn.commit()
cursor.close()
conn.close()
查询入住信息
python
def query_check_in(check_in_id):
conn = connect_db()
cursor = conn.cursor()
sql = "SELECT FROM check_ins WHERE check_in_id = %s"
cursor.execute(sql, (check_in_id,))
result = cursor.fetchone()
cursor.close()
conn.close()
return result
总结
本文通过MySQL数据库和Python代码,实现了一个简单的智能酒店入住登记数据管理系统。在实际应用中,可以根据需求对系统进行扩展和优化,例如增加权限管理、日志记录、报表统计等功能。希望本文能对您在酒店信息化建设过程中有所帮助。
Comments NOTHING