用mysql写战队管理系统
时间: 2023-07-18 17:29:52 浏览: 151
好的,下面是一个简单的战队管理系统的数据库设计:
**1. 战队表(team)**
| 字段名 | 数据类型 | 主键/外键 | 描述 |
| --------- | ----------- | --------- | ---------- |
| id | int | 主键 | 战队ID |
| name | varchar(50) | | 战队名称 |
| leader_id | int | 外键 | 队长ID |
| create_at | datetime | | 创建时间 |
| update_at | datetime | | 最后更新时间 |
**2. 成员表(member)**
| 字段名 | 数据类型 | 主键/外键 | 描述 |
| --------- | ----------- | --------- | ---------- |
| id | int | 主键 | 成员ID |
| name | varchar(50) | | 成员名称 |
| age | int | | 年龄 |
| gender | varchar(10) | | 性别 |
| team_id | int | 外键 | 所属战队ID |
| create_at | datetime | | 创建时间 |
| update_at | datetime | | 最后更新时间 |
在上面的表结构中,战队表(team)用于存储所有战队的信息,包括战队ID、战队名称、队长ID、创建时间、最后更新时间等;成员表(member)用于存储所有成员的信息,包括成员ID、成员名称、年龄、性别、所属战队ID、创建时间、最后更新时间等。
你可以使用以下的 SQL 语句来创建这两个表:
```
CREATE TABLE `team` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`leader_id` int(11) NOT NULL,
`create_at` datetime NOT NULL,
`update_at` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `leader_id` (`leader_id`),
CONSTRAINT `team_ibfk_1` FOREIGN KEY (`leader_id`) REFERENCES `member` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE `member` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`age` int(11) NOT NULL,
`gender` varchar(10) NOT NULL,
`team_id` int(11) NOT NULL,
`create_at` datetime NOT NULL,
`update_at` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `team_id` (`team_id`),
CONSTRAINT `member_ibfk_1` FOREIGN KEY (`team_id`) REFERENCES `team` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
```
在上面的 SQL 语句中,我们定义了两个表(team 和 member),并且在 team 表中定义了 leader_id 的外键,以保证战队表中的队长ID必须存在于成员表中。同时,在 member 表中定义了 team_id 的外键,以保证成员表中的所属战队ID必须存在于战队表中。
阅读全文