news 2026/5/1 8:11:49

5步搞定中国行政区划MySQL数据库:零基础搭建五级联动系统

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
5步搞定中国行政区划MySQL数据库:零基础搭建五级联动系统

5步搞定中国行政区划MySQL数据库:零基础搭建五级联动系统

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

想要快速部署一个完整的中国行政区划数据库吗?这套终极解决方案将带你从零开始,在MySQL中搭建包含省、市、县、乡、村的五级联动数据系统。无需复杂技术背景,只需简单几步就能完成!🚀

🎯 快速开始:环境配置与项目初始化

第一步:获取项目源码并安装依赖

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

第二步:了解项目结构

项目主要包含以下关键模块:

  • 数据抓取模块lib/crawler.js- 负责从官方数据源获取最新行政区划信息
  • 数据格式化模块lib/format.js- 对原始数据进行清洗和标准化处理
  • 导出工具lib/export.js- 生成多种格式的数据文件
  • SQLite数据库lib/sqlite.js- 提供本地数据存储和查询功能

📊 数据库设计与表结构规划

创建MySQL数据库

CREATE DATABASE china_administrative_divisions; USE china_administrative_divisions;

设计五级数据表

-- 省级行政区划表 CREATE TABLE provinces ( code VARCHAR(6) PRIMARY KEY, name VARCHAR(50) NOT NULL ); -- 地级市表 CREATE TABLE cities ( code VARCHAR(6) PRIMARY KEY, name VARCHAR(50) NOT NULL, province_code VARCHAR(6), FOREIGN KEY (province_code) REFERENCES provinces(code) ); -- 区县级表 CREATE TABLE counties ( code VARCHAR(6) PRIMARY KEY, name VARCHAR(50) NOT NULL, city_code VARCHAR(6), province_code VARCHAR(6), FOREIGN KEY (city_code) REFERENCES cities(code), FOREIGN KEY (province_code) REFERENCES provinces(code) ); -- 乡镇街道表 CREATE TABLE towns ( code VARCHAR(9) PRIMARY KEY, name VARCHAR(50) NOT NULL, county_code VARCHAR(6), city_code VARCHAR(6), province_code VARCHAR(6), FOREIGN KEY (county_code) REFERENCES counties(code), FOREIGN KEY (city_code) REFERENCES cities(code), FOREIGN KEY (province_code) REFERENCES provinces(code) ); -- 村级表 CREATE TABLE villages ( code VARCHAR(12) PRIMARY KEY, name VARCHAR(50) NOT NULL, town_code VARCHAR(9), county_code VARCHAR(6), city_code VARCHAR(6), province_code VARCHAR(6), FOREIGN KEY (town_code) REFERENCES towns(code), FOREIGN KEY (county_code) REFERENCES counties(code), FOREIGN KEY (city_code) REFERENCES cities(code), FOREIGN KEY (province_code) REFERENCES provinces(code) );

🔄 数据导出与迁移流程

生成CSV格式数据

使用项目提供的导出脚本:

./export_csv.sh

这个脚本会生成五个层级的CSV文件,存储在dist/目录下:

  • provinces.csv- 省级行政区划数据
  • cities.csv- 地级市数据
  • counties.csv- 区县级数据
  • towns.csv- 乡镇街道数据
  • villages.csv- 村级数据

批量导入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/counties.csv' INTO TABLE counties FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS; -- 导入乡镇数据 LOAD DATA LOCAL INFILE 'dist/towns.csv' INTO TABLE towns 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;

✅ 数据验证与完整性检查

验证导入结果

执行数据统计查询:

SELECT '省级' as level, COUNT(*) as count FROM provinces UNION ALL SELECT '地级', COUNT(*) FROM cities UNION ALL SELECT '县级', COUNT(*) FROM counties UNION ALL SELECT '乡级', COUNT(*) FROM towns UNION ALL SELECT '村级', COUNT(*) FROM villages;

预期数据规模

  • 📍 省级:34个行政单位
  • 🏙️ 地级:334个城市
  • 🏘️ 县级:2851个区县
  • 🏡 乡级:约4万个乡镇街道
  • 🏠 村级:约66万个村居委会

🚀 实战应用场景

场景一:地址联动选择

-- 获取北京市的所有区县 SELECT * FROM counties WHERE city_code = '1101'; -- 获取朝阳区的所有街道 SELECT * FROM towns WHERE county_code = '110105'; -- 获取某个街道下的所有社区 SELECT * FROM villages WHERE town_code = '110105001';

场景二:数据统计分析

-- 统计各省份城市数量排名 SELECT p.name, COUNT(c.code) as city_count FROM provinces p LEFT JOIN cities c ON p.code = c.province_code GROUP BY p.code, p.name ORDER BY city_count DESC;

⚡ 性能优化策略

创建关键索引

-- 为常用查询字段创建索引 CREATE INDEX idx_cities_province ON cities(province_code); CREATE INDEX idx_counties_city ON counties(city_code); CREATE INDEX idx_towns_county ON towns(county_code); CREATE INDEX idx_villages_town ON villages(town_code);

数据维护最佳实践

  1. 定期备份:设置MySQL自动备份策略,确保数据安全
  2. 编码统一:使用UTF-8编码支持中文显示
  3. 外键约束:启用外键检查保证数据关系完整性

🎯 总结与价值

通过这个简单快速的方法,你已经成功搭建了一个完整的中国行政区划MySQL数据库。这套免费的五级联动数据系统具有以下优势:

  • 数据完整:覆盖全国所有行政级别
  • 关系清晰:标准化的外键关联设计
  • 查询高效:优化的索引策略提升性能
  • 易于维护:结构化的表设计便于后续扩展

现在你可以基于这套数据库开发各种应用,包括地址选择组件、数据分析平台、地理信息系统等。这套终极解决方案将为你的项目提供准确、权威的中国行政区划数据支撑!

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/27 15:56:27

FlashInfer终极指南:10倍提升LLM推理性能的GPU加速技术

FlashInfer终极指南:10倍提升LLM推理性能的GPU加速技术 【免费下载链接】flashinfer FlashInfer: Kernel Library for LLM Serving 项目地址: https://gitcode.com/gh_mirrors/fl/flashinfer FlashInfer是专为大语言模型推理服务设计的高性能GPU内核库&#…

作者头像 李华
网站建设 2026/4/24 13:13:12

Vue.js可视化打印技术深度解析:从原理到企业级应用实践

Vue.js可视化打印技术深度解析:从原理到企业级应用实践 【免费下载链接】vue-plugin-hiprint hiprint for Vue2/Vue3 ⚡打印、打印设计、可视化设计器、报表设计、元素编辑、可视化打印编辑 项目地址: https://gitcode.com/gh_mirrors/vu/vue-plugin-hiprint …

作者头像 李华
网站建设 2026/4/19 6:06:10

360度全景图像查看器终极指南 - 轻量级WebGL解决方案

360度全景图像查看器终极指南 - 轻量级WebGL解决方案 【免费下载链接】360-image-viewer A standalone panorama viewer with WebGL 项目地址: https://gitcode.com/gh_mirrors/36/360-image-viewer 📝 文章简介:本文详细介绍如何使用360-image-v…

作者头像 李华
网站建设 2026/4/22 13:59:37

GBase 8a v952-兼容模式-对混合节点和纯data节点缩容操作教程

说明本文仅从功能验证角度来进行流程操作,gbase v952 兼容模式对混合节点和纯data节点缩容。缩容目标集群目前有四个节点,两个管理节点,四个data节点,其中两台机器是混合部署。现在准备缩容一台混合节点一台纯data节点。集群现状g…

作者头像 李华
网站建设 2026/4/27 20:03:16

短视频创作者福音:上传5秒音频即可复刻声线,快速批量配音

短视频创作者福音:上传5秒音频即可复刻声线,快速批量配音 在短视频内容竞争白热化的今天,一个鲜明的声音标识可能就是你账号脱颖而出的关键。但请专业配音员成本高、周期长,自己录又受限于环境和表现力——有没有一种方式&#xf…

作者头像 李华
网站建设 2026/4/25 16:43:13

学霸同款8个AI论文网站,助你搞定本科生毕业论文!

学霸同款8个AI论文网站,助你搞定本科生毕业论文! AI 工具如何助力论文写作,让学术之路更轻松 在当今这个信息爆炸的时代,AI 技术已经渗透到生活的方方面面,而学术研究也迎来了前所未有的变革。对于本科生而言&#xff…

作者头像 李华