外卖配送地址管理sql怎么写
时间: 2023-11-18 11:02:58 浏览: 53
外卖管理系统.sql
首先,需要确定需要管理的数据表结构,例如可以定义一个 `address` 表来存储配送地址信息,包括以下字段:
- `id`: 地址ID,主键,自增长
- `user_id`: 用户ID,外键,关联到用户表的主键
- `recipient_name`: 收件人姓名
- `recipient_phone`: 收件人电话
- `province`: 省份
- `city`: 城市
- `district`: 区/县
- `detail_address`: 详细地址
然后,可以使用以下 SQL 语句来创建 `address` 表:
```sql
CREATE TABLE `address` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`recipient_name` varchar(255) NOT NULL,
`recipient_phone` varchar(20) NOT NULL,
`province` varchar(50) NOT NULL,
`city` varchar(50) NOT NULL,
`district` varchar(50) NOT NULL,
`detail_address` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`),
CONSTRAINT `address_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
```
其中,`user_id` 字段为外键,关联到用户表的主键。并且在定义外键时,使用 `ON DELETE CASCADE` 和 `ON UPDATE CASCADE` 选项,表示当用户表中的主键被删除或更新时,`address` 表中的外键也会相应被删除或更新。
接下来,我们可以使用以下 SQL 语句来插入、更新、查询和删除地址信息:
- 插入地址信息:
```sql
INSERT INTO `address` (`user_id`, `recipient_name`, `recipient_phone`, `province`, `city`, `district`, `detail_address`) VALUES (1, '张三', '13888888888', '北京市', '北京市', '朝阳区', '建国路1号');
```
- 更新地址信息:
```sql
UPDATE `address` SET `recipient_name`='李四', `recipient_phone`='13999999999', `detail_address`='建国路2号' WHERE `id`=1 AND `user_id`=1;
```
- 查询地址信息:
```sql
SELECT * FROM `address` WHERE `user_id`=1;
```
- 删除地址信息:
```sql
DELETE FROM `address` WHERE `id`=1 AND `user_id`=1;
```
阅读全文