编写数据库药品管理系统
时间: 2023-07-08 13:17:18 浏览: 62
好的,下面是一个简单的药品管理系统的数据库设计和示例代码(使用MySQL数据库和Python编写)。
## 数据库设计
本系统的数据库设计包括两个表:药品信息表(drug_info)和销售记录表(sales_record)。
### 药品信息表(drug_info)
| 列名 | 数据类型 | 主键 | 自增 | 可空 | 备注 |
| ---- | -------- | ---- | ---- | ---- | ---- |
| id | int | 是 | 是 | 否 | 药品编号 |
| name | varchar(50) | 否 | 否 | 否 | 药品名称 |
| description | text | 否 | 否 | 是 | 药品描述 |
| price | decimal(10,2) | 否 | 否 | 否 | 药品单价 |
| stock | int | 否 | 否 | 否 | 药品库存 |
### 销售记录表(sales_record)
| 列名 | 数据类型 | 主键 | 自增 | 可空 | 备注 |
| ---- | -------- | ---- | ---- | ---- | ---- |
| id | int | 是 | 是 | 否 | 销售记录编号 |
| drug_id | int | 否 | 否 | 否 | 药品编号 |
| amount | int | 否 | 否 | 否 | 销售数量 |
| total_price | decimal(10,2) | 否 | 否 | 否 | 销售总价 |
| sale_time | datetime | 否 | 否 | 否 | 销售时间 |
## 示例代码
### 连接数据库
```python
import mysql.connector
# 连接数据库
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="drug_management_system"
)
# 创建游标
mycursor = mydb.cursor()
```
### 插入药品信息
```python
# 插入药品信息
def insert_drug_info(name, description, price, stock):
sql = "INSERT INTO drug_info (name, description, price, stock) VALUES (%s, %s, %s, %s)"
val = (name, description, price, stock)
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record inserted.")
```
### 更新药品信息
```python
# 更新药品信息
def update_drug_info(id, name, description, price, stock):
sql = "UPDATE drug_info SET name = %s, description = %s, price = %s, stock = %s WHERE id = %s"
val = (name, description, price, stock, id)
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record(s) affected.")
```
### 删除药品信息
```python
# 删除药品信息
def delete_drug_info(id):
sql = "DELETE FROM drug_info WHERE id = %s"
val = (id,)
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record(s) deleted.")
```
### 查询药品信息
```python
# 查询药品信息
def select_drug_info():
mycursor.execute("SELECT * FROM drug_info")
myresult = mycursor.fetchall()
for x in myresult:
print(x)
```
### 插入销售记录
```python
# 插入销售记录
def insert_sales_record(drug_id, amount, total_price, sale_time):
sql = "INSERT INTO sales_record (drug_id, amount, total_price, sale_time) VALUES (%s, %s, %s, %s)"
val = (drug_id, amount, total_price, sale_time)
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record inserted.")
```
### 查询销售记录
```python
# 查询销售记录
def select_sales_record():
mycursor.execute("SELECT * FROM sales_record")
myresult = mycursor.fetchall()
for x in myresult:
print(x)
```
以上是一个简单的药品管理系统的数据库设计和示例代码,你可以基于这个示例进行扩展和改进。