MySQL 数据库 智能酒店入住登记数据管理示例

MySQL 数据库阿木 发布于 7 天前 4 次阅读


智能酒店入住登记数据管理示例:基于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代码,实现了一个简单的智能酒店入住登记数据管理系统。在实际应用中,可以根据需求对系统进行扩展和优化,例如增加权限管理、日志记录、报表统计等功能。希望本文能对您在酒店信息化建设过程中有所帮助。