中国行政区划数据MySQL部署实战指南
2026/9/15 21:51:51 网站建设 项目流程

想要快速搭建中国行政区划数据库的MySQL版本吗?这个完整的中国行政区划数据系统包含从省级到村级的五级联动信息,是开发地址选择组件、数据分析平台的理想数据源。本文将带你从零开始完成MySQL数据部署全流程,无需复杂技术背景!🚀

【免费下载链接】Administrative-divisions-of-China中华人民共和国行政区划:省级(省份)、 地级(城市)、 县级(区县)、 乡级(乡镇街道)、 村级(村委会居委会) ,中国省市区镇村二级三级四级五级联动地址数据。项目地址: https://gitcode.com/gh_mirrors/ad/Administrative-divisions-of-China

📊 项目核心价值与数据特性

中国行政区划数据库汇集了完整的五级行政区划信息,覆盖省级(省份、直辖市、自治区)、地级(城市)、县级(区县)、乡级(乡镇街道)和村级(村委会居委会)。这些数据基于官方发布的统计用区划代码,具有极高的准确性和权威性。

数据层级体系

  • 省级数据:34个省级行政区划单元
  • 地级数据:334个地级行政区划单元
  • 县级数据:2851个县级行政区划单元
  • 乡级数据:超过4万个乡级单位
  • 村级数据:超过66万个村级单位

🔧 环境配置与项目初始化

获取项目源码

git clone https://gitcode.com/gh_mirrors/ad/Administrative-divisions-of-China cd Administrative-divisions-of-China

安装项目依赖

项目基于Node.js环境运行,需要先安装必要的依赖包:

npm install

验证数据文件完整性

项目提供了多种格式的数据文件,位于dist/目录下:

  • data.sqlite- SQLite格式完整数据库
  • provinces.csvcities.csv等 - CSV格式分层数据文件
  • provinces.jsoncities.json等 - JSON格式分层数据文件

🗃️ MySQL数据库架构设计

创建专用数据库

CREATE DATABASE china_administrative_divisions; USE china_administrative_divisions;

设计五级联动表结构

-- 省级行政区划主表 CREATE TABLE provinces ( division_code VARCHAR(10) PRIMARY KEY, division_name VARCHAR(50) NOT NULL ); -- 地级行政区划关联表 CREATE TABLE cities ( division_code VARCHAR(10) PRIMARY KEY, division_name VARCHAR(50) NOT NULL, province_code VARCHAR(10), FOREIGN KEY (province_code) REFERENCES provinces(division_code) ); -- 县级行政区划扩展表 CREATE TABLE counties ( division_code VARCHAR(10) PRIMARY KEY, division_name VARCHAR(50) NOT NULL, city_code VARCHAR(10), province_code VARCHAR(10), FOREIGN KEY (city_code) REFERENCES cities(division_code), FOREIGN KEY (province_code) REFERENCES provinces(division_code) ); -- 乡级行政区划明细表 CREATE TABLE townships ( division_code VARCHAR(15) PRIMARY KEY, division_name VARCHAR(50) NOT NULL, county_code VARCHAR(10), city_code VARCHAR(10), province_code VARCHAR(10), FOREIGN KEY (county_code) REFERENCES counties(division_code), FOREIGN KEY (city_code) REFERENCES cities(division_code), FOREIGN KEY (province_code) REFERENCES provinces(division_code) ); -- 村级行政区划终端表 CREATE TABLE villages ( division_code VARCHAR(20) PRIMARY KEY, division_name VARCHAR(50) NOT NULL, township_code VARCHAR(15), county_code VARCHAR(10), city_code VARCHAR(10), province_code VARCHAR(10), FOREIGN KEY (township_code) REFERENCES townships(division_code), FOREIGN KEY (county_code) REFERENCES counties(division_code), FOREIGN KEY (city_code) REFERENCES cities(division_code), FOREIGN KEY (province_code) REFERENCES provinces(division_code) );

🔄 数据转换与批量导入

生成标准CSV数据文件

使用项目内置的导出脚本生成CSV格式文件:

./export_csv.sh

该脚本将自动创建五个核心CSV文件:

  • dist/provinces.csv- 省级行政区划数据
  • dist/cities.csv- 地级行政区划数据
  • dist/areas.csv- 县级行政区划数据
  • dist/streets.csv- 乡级行政区划数据
  • dist/villages.csv- 村级行政区划数据

执行MySQL数据导入操作

使用MySQL的批量导入功能,按层级顺序导入数据:

-- 导入省级行政区划数据 LOAD DATA LOCAL INFILE 'dist/provinces.csv' INTO TABLE provinces FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS; -- 导入地级行政区划数据 LOAD DATA LOCAL INFILE 'dist/cities.csv' INTO TABLE cities FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS; -- 导入县级行政区划数据 LOAD DATA LOCAL INFILE 'dist/areas.csv' INTO TABLE counties FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS; -- 导入乡级行政区划数据 LOAD DATA LOCAL INFILE 'dist/streets.csv' INTO TABLE townships FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS; -- 导入村级行政区划数据 LOAD DATA LOCAL INFILE 'dist/villages.csv' INTO TABLE villages FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;

✅ 数据质量验证与完整性检查

验证数据导入结果

执行以下SQL查询验证各级数据完整性:

SELECT '省级行政区划' as 数据层级, COUNT(*) as 记录数量 FROM provinces UNION ALL SELECT '地级行政区划', COUNT(*) FROM cities UNION ALL SELECT '县级行政区划', COUNT(*) FROM counties UNION ALL SELECT '乡级行政区划', COUNT(*) FROM townships UNION ALL SELECT '村级行政区划', COUNT(*) FROM villages;

预期验证结果应显示:

  • 省级行政区划:34条数据记录
  • 地级行政区划:334条数据记录
  • 县级行政区划:2851条数据记录
  • 乡级行政区划:约4万条数据记录
  • 村级行政区划:约66万条数据记录

🚀 实际应用场景与查询示例

应用场景一:地址联动选择组件开发

-- 获取指定省份下的所有城市信息 SELECT * FROM cities WHERE province_code = '44'; -- 获取指定城市下的所有区县信息 SELECT * FROM counties WHERE city_code = '4401'; -- 获取指定区县下的所有乡镇信息 SELECT * FROM townships WHERE county_code = '440106'; -- 获取指定乡镇下的所有村庄信息 SELECT * FROM villages WHERE township_code = '440106011';

应用场景二:数据分析与统计报表

-- 统计各省份的城市数量分布 SELECT p.division_name, COUNT(c.division_code) as 城市数量 FROM provinces p LEFT JOIN cities c ON p.division_code = c.province_code GROUP BY p.division_code, p.division_name; -- 查找特定名称的行政区划单元 SELECT * FROM provinces WHERE division_name LIKE '%广东%';

⚡ 性能优化与运维最佳实践

索引策略优化配置

-- 为高频查询字段创建性能索引 CREATE INDEX idx_cities_province ON cities(province_code); CREATE INDEX idx_counties_city ON counties(city_code); CREATE INDEX idx_townships_county ON townships(county_code); CREATE INDEX idx_villages_township ON villages(township_code);

数据维护管理建议

  1. 定期备份机制:配置MySQL自动备份策略确保数据安全
  2. 编码统一规范:确保数据库使用UTF-8字符集支持中文
  3. 外键关系验证:定期检查外键约束的完整性和一致性

🎯 部署成果总结与后续规划

通过本文的完整部署指南,你已经成功将中国行政区划数据库从SQLite迁移到MySQL环境。这套五级联动数据系统为你的技术项目提供了坚实的数据基础:

  • ✅ 完整的行政区划数据覆盖范围
  • ✅ 标准化的数据库表结构设计
  • ✅ 高效的数据查询访问性能
  • ✅ 易于维护的数据关系架构

现在你可以基于这套MySQL数据库系统开发各类应用,包括地址选择组件、数据分析平台、地理信息系统等。这套数据将为你的项目提供准确、完整的中国行政区划信息服务支撑!

【免费下载链接】Administrative-divisions-of-China中华人民共和国行政区划:省级(省份)、 地级(城市)、 县级(区县)、 乡级(乡镇街道)、 村级(村委会居委会) ,中国省市区镇村二级三级四级五级联动地址数据。项目地址: https://gitcode.com/gh_mirrors/ad/Administrative-divisions-of-China

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询