鍒濆鎻愪氦锛氱墰鍙暟鎹鐞嗙郴缁?- 鍖呭惈鍚庣Spring Boot鍜屽墠绔疺ue3椤圭洰

This commit is contained in:
shenquanyi
2025-11-28 17:19:49 +08:00
commit 4de35a7e5b
9890 changed files with 1020261 additions and 0 deletions

View File

@@ -0,0 +1,86 @@
# 创建品种表 (cattlebreed) 执行说明
## 问题
错误信息:`Table 'cattletends.cattlebreed' doesn't exist`
## 解决方案
需要执行 SQL 脚本创建 `cattlebreed` 表。
## 执行方法
### 方法1使用 MySQL 命令行(推荐)
```bash
# 连接到数据库
mysql -h 129.211.213.226 -P 3306 -u root -p cattleTends
# 输入密码Aiotagro@741
# 执行 SQL 脚本
source /path/to/create_cattlebreed_table.sql;
# 或者直接复制 SQL 内容执行
```
### 方法2直接执行 SQL 语句
连接到数据库后,执行以下 SQL
```sql
USE cattleTends;
-- 创建品种表
CREATE TABLE IF NOT EXISTS `cattlebreed` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
`breed_name` VARCHAR(100) NOT NULL UNIQUE COMMENT '品种名称',
`create_time` DATETIME COMMENT '创建时间',
`up_time` DATETIME NOT NULL COMMENT '更新时间',
-- 索引定义
INDEX `idx_breed_name` (`breed_name`),
INDEX `idx_create_time` (`create_time`),
INDEX `idx_up_time` (`up_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='品种表';
```
### 方法3使用 MySQL Workbench 或其他数据库工具
1. 连接到数据库服务器:`129.211.213.226:3306`
2. 选择数据库:`cattleTends`
3. 打开并执行 `create_cattlebreed_table.sql` 文件
## 验证表是否创建成功
执行以下 SQL 验证:
```sql
USE cattleTends;
-- 查看表是否存在
SHOW TABLES LIKE 'cattlebreed';
-- 查看表结构
DESC cattlebreed;
-- 查看索引
SHOW INDEX FROM cattlebreed;
```
## 预期结果
执行成功后,应该看到:
-`cattlebreed` 已创建
- 包含 4 个索引:
- PRIMARY KEY (id)
- idx_breed_name (breed_name, UNIQUE)
- idx_create_time (create_time)
- idx_up_time (up_time)
## 注意事项
- 如果表已存在,`CREATE TABLE IF NOT EXISTS` 不会报错,会跳过创建
- 如果表已存在但结构不同,需要先删除表再创建:
```sql
DROP TABLE IF EXISTS cattlebreed;
-- 然后执行创建表的 SQL
```

View File

@@ -0,0 +1,58 @@
-- 为 cattleData 表添加所有缺失的字段
-- 请在数据库中执行此SQL语句
-- 注意MySQL 5.7 不支持 IF NOT EXISTS如果字段已存在会报错可以忽略
USE cattleTends;
-- 添加省份均价字段
ALTER TABLE cattleData
ADD COLUMN province_price DECIMAL(10, 2) COMMENT '省份均价';
-- 添加23年存栏字段
ALTER TABLE cattleData
ADD COLUMN inventory_23th INT COMMENT '23年存栏万头';
-- 添加23年出栏字段
ALTER TABLE cattleData
ADD COLUMN slaughter_23th INT COMMENT '23年出栏万头';
-- 添加24年存栏字段
ALTER TABLE cattleData
ADD COLUMN inventory_24th INT COMMENT '24年存栏万头';
-- 添加24年出栏字段
ALTER TABLE cattleData
ADD COLUMN slaughter_24th INT COMMENT '24年出栏万头';
-- 添加25年存栏字段
ALTER TABLE cattleData
ADD COLUMN inventory_25th INT COMMENT '25年存栏万头';
-- 添加25年出栏字段
ALTER TABLE cattleData
ADD COLUMN slaughter_25th INT COMMENT '25年出栏万头';
-- 添加23年全国存栏量字段如果 add_national_fields.sql 已执行,可以跳过)
ALTER TABLE cattleData
ADD COLUMN national_inventory_23th INT COMMENT '23年全国存栏量15个省份存栏量的总和';
-- 添加23年全国出栏量字段
ALTER TABLE cattleData
ADD COLUMN national_slaughter_23th INT COMMENT '23年全国出栏量15个省份出栏量的总和';
-- 添加24年全国存栏量字段
ALTER TABLE cattleData
ADD COLUMN national_inventory_24th INT COMMENT '24年全国存栏量15个省份存栏量的总和';
-- 添加24年全国出栏量字段
ALTER TABLE cattleData
ADD COLUMN national_slaughter_24th INT COMMENT '24年全国出栏量15个省份出栏量的总和';
-- 添加25年全国存栏量字段
ALTER TABLE cattleData
ADD COLUMN national_inventory_25th INT COMMENT '25年全国存栏量15个省份存栏量的总和';
-- 添加25年全国出栏量字段
ALTER TABLE cattleData
ADD COLUMN national_slaughter_25th INT COMMENT '25年全国出栏量15个省份出栏量的总和';

View File

@@ -0,0 +1,61 @@
-- 为 cattleData 表添加所有缺失的字段
-- 请在数据库中执行此SQL语句
-- 注意:如果字段已存在会报错,可以忽略或先检查字段是否存在
USE cattleTends;
-- 检查并添加字段MySQL 5.7+ 支持 IF NOT EXISTS但 ALTER TABLE 不支持,所以需要逐个添加)
-- 如果字段已存在,会报错,可以忽略
-- 添加省份均价字段
ALTER TABLE cattleData
ADD COLUMN province_price DECIMAL(10, 2) COMMENT '省份均价';
-- 添加23年存栏字段
ALTER TABLE cattleData
ADD COLUMN inventory_23th INT COMMENT '23年存栏万头';
-- 添加23年出栏字段
ALTER TABLE cattleData
ADD COLUMN slaughter_23th INT COMMENT '23年出栏万头';
-- 添加24年存栏字段
ALTER TABLE cattleData
ADD COLUMN inventory_24th INT COMMENT '24年存栏万头';
-- 添加24年出栏字段
ALTER TABLE cattleData
ADD COLUMN slaughter_24th INT COMMENT '24年出栏万头';
-- 添加25年存栏字段
ALTER TABLE cattleData
ADD COLUMN inventory_25th INT COMMENT '25年存栏万头';
-- 添加25年出栏字段
ALTER TABLE cattleData
ADD COLUMN slaughter_25th INT COMMENT '25年出栏万头';
-- 添加23年全国存栏量字段
ALTER TABLE cattleData
ADD COLUMN national_inventory_23th INT COMMENT '23年全国存栏量15个省份存栏量的总和';
-- 添加23年全国出栏量字段
ALTER TABLE cattleData
ADD COLUMN national_slaughter_23th INT COMMENT '23年全国出栏量15个省份出栏量的总和';
-- 添加24年全国存栏量字段
ALTER TABLE cattleData
ADD COLUMN national_inventory_24th INT COMMENT '24年全国存栏量15个省份存栏量的总和';
-- 添加24年全国出栏量字段
ALTER TABLE cattleData
ADD COLUMN national_slaughter_24th INT COMMENT '24年全国出栏量15个省份出栏量的总和';
-- 添加25年全国存栏量字段
ALTER TABLE cattleData
ADD COLUMN national_inventory_25th INT COMMENT '25年全国存栏量15个省份存栏量的总和';
-- 添加25年全国出栏量字段
ALTER TABLE cattleData
ADD COLUMN national_slaughter_25th INT COMMENT '25年全国出栏量15个省份出栏量的总和';

View File

@@ -0,0 +1,61 @@
-- 为 cattleData 表添加索引以优化查询速度
-- 请在数据库中执行此SQL语句
USE cattleTends;
-- 1. 为 price 字段添加索引(用于排序查询)
CREATE INDEX idx_price ON cattleData(price);
-- 2. 为 type 字段添加索引(用于按品种筛选)
CREATE INDEX idx_type ON cattleData(type);
-- 3. 为 province 字段添加索引(用于按省份筛选)
CREATE INDEX idx_province ON cattleData(province);
-- 4. 为 type + price 创建复合索引(用于按品种筛选并按价格排序)
CREATE INDEX idx_type_price ON cattleData(type, price);
-- 5. 为 province + price 创建复合索引(用于按省份筛选并按价格排序)
CREATE INDEX idx_province_price ON cattleData(province, price);
-- 6. 为 type + province + location + price 创建复合索引(用于判断重复数据)
CREATE INDEX idx_type_province_location_price ON cattleData(type, province, location, price);
-- 7. 为 province_price 字段添加索引(用于按省份均价查询或排序)
CREATE INDEX idx_province_price_field ON cattleData(province_price);
-- 8. 为 inventory_23th 字段添加索引用于按23年存栏查询或排序
CREATE INDEX idx_inventory_23th ON cattleData(inventory_23th);
-- 9. 为 slaughter_23th 字段添加索引用于按23年出栏查询或排序
CREATE INDEX idx_slaughter_23th ON cattleData(slaughter_23th);
-- 10. 为 inventory_24th 字段添加索引用于按24年存栏查询或排序
CREATE INDEX idx_inventory_24th ON cattleData(inventory_24th);
-- 11. 为 slaughter_24th 字段添加索引用于按24年出栏查询或排序
CREATE INDEX idx_slaughter_24th ON cattleData(slaughter_24th);
-- 12. 为 inventory_25th 字段添加索引用于按25年存栏查询或排序
CREATE INDEX idx_inventory_25th ON cattleData(inventory_25th);
-- 13. 为 slaughter_25th 字段添加索引用于按25年出栏查询或排序
CREATE INDEX idx_slaughter_25th ON cattleData(slaughter_25th);
-- 14. 为 national_inventory_23th 字段添加索引用于按23年全国存栏查询或排序
CREATE INDEX idx_national_inventory_23th ON cattleData(national_inventory_23th);
-- 15. 为 national_slaughter_23th 字段添加索引用于按23年全国出栏查询或排序
CREATE INDEX idx_national_slaughter_23th ON cattleData(national_slaughter_23th);
-- 16. 为 national_inventory_24th 字段添加索引用于按24年全国存栏查询或排序
CREATE INDEX idx_national_inventory_24th ON cattleData(national_inventory_24th);
-- 17. 为 national_slaughter_24th 字段添加索引用于按24年全国出栏查询或排序
CREATE INDEX idx_national_slaughter_24th ON cattleData(national_slaughter_24th);
-- 18. 为 national_inventory_25th 字段添加索引用于按25年全国存栏查询或排序
CREATE INDEX idx_national_inventory_25th ON cattleData(national_inventory_25th);
-- 19. 为 national_slaughter_25th 字段添加索引用于按25年全国出栏查询或排序
CREATE INDEX idx_national_slaughter_25th ON cattleData(national_slaughter_25th);

View File

@@ -0,0 +1,29 @@
-- 为 cattleData 表添加全国总量字段
-- 请在数据库中执行此SQL语句
USE cattleTends;
-- 添加23年全国存栏量字段
ALTER TABLE cattleData
ADD COLUMN national_inventory_23th INT COMMENT '23年全国存栏量15个省份存栏量的总和';
-- 添加23年全国出栏量字段
ALTER TABLE cattleData
ADD COLUMN national_slaughter_23th INT COMMENT '23年全国出栏量15个省份出栏量的总和';
-- 添加24年全国存栏量字段
ALTER TABLE cattleData
ADD COLUMN national_inventory_24th INT COMMENT '24年全国存栏量15个省份存栏量的总和';
-- 添加24年全国出栏量字段
ALTER TABLE cattleData
ADD COLUMN national_slaughter_24th INT COMMENT '24年全国出栏量15个省份出栏量的总和';
-- 添加25年全国存栏量字段
ALTER TABLE cattleData
ADD COLUMN national_inventory_25th INT COMMENT '25年全国存栏量15个省份存栏量的总和';
-- 添加25年全国出栏量字段
ALTER TABLE cattleData
ADD COLUMN national_slaughter_25th INT COMMENT '25年全国出栏量15个省份出栏量的总和';

View File

@@ -0,0 +1,22 @@
-- 为 cattleprovince 表添加全国总量字段
-- 请在数据库中执行此SQL语句
USE cattleTends;
-- 添加6个全国总量字段
ALTER TABLE cattleprovince
ADD COLUMN national_inventory_23th INT COMMENT '23年全国存栏量15个省份存栏量的总和',
ADD COLUMN national_slaughter_23th INT COMMENT '23年全国出栏量15个省份出栏量的总和',
ADD COLUMN national_inventory_24th INT COMMENT '24年全国存栏量15个省份存栏量的总和',
ADD COLUMN national_slaughter_24th INT COMMENT '24年全国出栏量15个省份出栏量的总和',
ADD COLUMN national_inventory_25th INT COMMENT '25年全国存栏量15个省份存栏量的总和',
ADD COLUMN national_slaughter_25th INT COMMENT '25年全国出栏量15个省份出栏量的总和';
-- 为全国总量字段添加索引
CREATE INDEX idx_national_inv_23 ON cattleprovince(national_inventory_23th);
CREATE INDEX idx_national_sla_23 ON cattleprovince(national_slaughter_23th);
CREATE INDEX idx_national_inv_24 ON cattleprovince(national_inventory_24th);
CREATE INDEX idx_national_sla_24 ON cattleprovince(national_slaughter_24th);
CREATE INDEX idx_national_inv_25 ON cattleprovince(national_inventory_25th);
CREATE INDEX idx_national_sla_25 ON cattleprovince(national_slaughter_25th);

View File

@@ -0,0 +1,33 @@
-- 为 cattleData 表添加省份相关字段
-- 请在数据库中执行此SQL语句
USE cattleTends;
-- 添加省份均价字段(如果不存在)
ALTER TABLE cattleData
ADD COLUMN IF NOT EXISTS province_price DECIMAL(10, 2) COMMENT '省份均价';
-- 添加23年存栏字段如果不存在
ALTER TABLE cattleData
ADD COLUMN IF NOT EXISTS inventory_23th INT COMMENT '23年存栏万头';
-- 添加23年出栏字段如果不存在
ALTER TABLE cattleData
ADD COLUMN IF NOT EXISTS slaughter_23th INT COMMENT '23年出栏万头';
-- 添加24年存栏字段如果不存在
ALTER TABLE cattleData
ADD COLUMN IF NOT EXISTS inventory_24th INT COMMENT '24年存栏万头';
-- 添加24年出栏字段如果不存在
ALTER TABLE cattleData
ADD COLUMN IF NOT EXISTS slaughter_24th INT COMMENT '24年出栏万头';
-- 添加25年存栏字段如果不存在
ALTER TABLE cattleData
ADD COLUMN IF NOT EXISTS inventory_25th INT COMMENT '25年存栏万头';
-- 添加25年出栏字段如果不存在
ALTER TABLE cattleData
ADD COLUMN IF NOT EXISTS slaughter_25th INT COMMENT '25年出栏万头';

View File

@@ -0,0 +1,12 @@
-- 创建品种表
CREATE TABLE IF NOT EXISTS `cattlebreed` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
`breed_name` VARCHAR(100) NOT NULL UNIQUE COMMENT '品种名称',
`create_time` DATETIME COMMENT '创建时间',
`up_time` DATETIME NOT NULL COMMENT '更新时间',
-- 索引定义
INDEX `idx_breed_name` (`breed_name`),
INDEX `idx_create_time` (`create_time`),
INDEX `idx_up_time` (`up_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='品种表';

View File

@@ -0,0 +1,26 @@
-- 创建 cattlenational 表(全国总量数据表)
-- 请在数据库中执行此SQL语句
USE cattleTends;
-- 创建全国总量数据表
CREATE TABLE IF NOT EXISTS cattlenational (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
national_inventory_23th INT COMMENT '23年全国存栏量15个省份存栏量的总和',
national_slaughter_23th INT COMMENT '23年全国出栏量15个省份出栏量的总和',
national_inventory_24th INT COMMENT '24年全国存栏量15个省份存栏量的总和',
national_slaughter_24th INT COMMENT '24年全国出栏量15个省份出栏量的总和',
national_inventory_25th INT COMMENT '25年全国存栏量15个省份存栏量的总和',
national_slaughter_25th INT COMMENT '25年全国出栏量15个省份出栏量的总和',
create_time DATETIME COMMENT '创建时间',
up_time DATETIME NOT NULL COMMENT '更新时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='全国总量数据表';
-- 为 cattlenational 表添加索引
CREATE INDEX idx_national_inv_23 ON cattlenational(national_inventory_23th);
CREATE INDEX idx_national_sla_23 ON cattlenational(national_slaughter_23th);
CREATE INDEX idx_national_inv_24 ON cattlenational(national_inventory_24th);
CREATE INDEX idx_national_sla_24 ON cattlenational(national_slaughter_24th);
CREATE INDEX idx_national_inv_25 ON cattlenational(national_inventory_25th);
CREATE INDEX idx_national_sla_25 ON cattlenational(national_slaughter_25th);

View File

@@ -0,0 +1,30 @@
-- 创建 cattleprovince 表
-- 请在数据库中执行此SQL语句
USE cattleTends;
-- 创建省份数据表
CREATE TABLE IF NOT EXISTS cattleprovince (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
province VARCHAR(255) NOT NULL UNIQUE COMMENT '省份名称',
province_price DECIMAL(10, 2) COMMENT '省份均价',
inventory_23th INT COMMENT '23年存栏万头',
slaughter_23th INT COMMENT '23年出栏万头',
inventory_24th INT COMMENT '24年存栏万头',
slaughter_24th INT COMMENT '24年出栏万头',
inventory_25th INT COMMENT '25年存栏万头',
slaughter_25th INT COMMENT '25年出栏万头',
create_time DATETIME COMMENT '创建时间',
up_time DATETIME NOT NULL COMMENT '更新时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='省份数据表';
-- 为 cattleprovince 表添加索引
CREATE INDEX idx_province_name ON cattleprovince(province);
CREATE INDEX idx_province_price ON cattleprovince(province_price);
CREATE INDEX idx_inv_23 ON cattleprovince(inventory_23th);
CREATE INDEX idx_sla_23 ON cattleprovince(slaughter_23th);
CREATE INDEX idx_inv_24 ON cattleprovince(inventory_24th);
CREATE INDEX idx_sla_24 ON cattleprovince(slaughter_24th);
CREATE INDEX idx_inv_25 ON cattleprovince(inventory_25th);
CREATE INDEX idx_sla_25 ON cattleprovince(slaughter_25th);

View File

@@ -0,0 +1,3 @@
-- 修复 cattleData 表,将 id 字段设置为自增
ALTER TABLE cattleData MODIFY COLUMN id INT AUTO_INCREMENT;

View File

@@ -0,0 +1,9 @@
-- 修复 cattlenational 表的 id 字段,设置为 AUTO_INCREMENT
-- 请在数据库中执行此SQL语句
USE cattleTends;
-- 修改 id 字段为 AUTO_INCREMENT
ALTER TABLE cattlenational
MODIFY COLUMN id INT AUTO_INCREMENT;

View File

@@ -0,0 +1,9 @@
-- 修复 cattleprovince 表的 id 字段,设置为 AUTO_INCREMENT
-- 请在数据库中执行此SQL语句
USE cattleTends;
-- 修改 id 字段为 AUTO_INCREMENT
ALTER TABLE cattleprovince
MODIFY COLUMN id INT AUTO_INCREMENT;

View File

@@ -0,0 +1,22 @@
-- 从 cattleprovince 表中移除全国总量字段(如果已添加)
-- 请在数据库中执行此SQL语句
USE cattleTends;
-- 检查并删除索引(如果存在)
DROP INDEX IF EXISTS idx_national_inv_23 ON cattleprovince;
DROP INDEX IF EXISTS idx_national_sla_23 ON cattleprovince;
DROP INDEX IF EXISTS idx_national_inv_24 ON cattleprovince;
DROP INDEX IF EXISTS idx_national_sla_24 ON cattleprovince;
DROP INDEX IF EXISTS idx_national_inv_25 ON cattleprovince;
DROP INDEX IF EXISTS idx_national_sla_25 ON cattleprovince;
-- 删除字段(如果存在)
ALTER TABLE cattleprovince
DROP COLUMN IF EXISTS national_inventory_23th,
DROP COLUMN IF EXISTS national_slaughter_23th,
DROP COLUMN IF EXISTS national_inventory_24th,
DROP COLUMN IF EXISTS national_slaughter_24th,
DROP COLUMN IF EXISTS national_inventory_25th,
DROP COLUMN IF EXISTS national_slaughter_25th;