2024版全国5级行政区划(省,市,区,街道/乡镇,村委会)附mysql建表脚本

表结构设计

DROP TABLE IF EXISTS `system_area`;
CREATE TABLE `system_area` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
  `name` varchar(50) NOT NULL COMMENT '名称',
  `code` varchar(20) NOT NULL COMMENT '编码',
  `parent_code` varchar(20) NOT NULL COMMENT '父节点编码',
  `type` tinyint(4) NOT NULL COMMENT '节点类型(1:国;2:省;3:市;4:县;5:街道;6:村)',
  `sort` int(11) NOT NULL DEFAULT '0' COMMENT '显示顺序',
  `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '行政区划节点状态(0:开启,1:关闭)',
  `name_path` varchar(255) DEFAULT NULL,
  `code_path` varchar(128) DEFAULT NULL,
  `creator` varchar(64) DEFAULT '' COMMENT '创建者',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` varchar(64) DEFAULT '' COMMENT '更新者',
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  `tenant_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '租户编号',
  `create_user_name` varchar(64) DEFAULT '' COMMENT '创建者名称',
  `update_user_name` varchar(64) DEFAULT '' COMMENT '更新者名称',
  PRIMARY KEY (`id`),
  KEY `system_area_code_index` (`code`),
  KEY `system_area_parent_code_index` (`parent_code`),
  KEY `system_area_code_path_index` (`code_path`)
) ENGINE=InnoDB AUTO_INCREMENT=663998 DEFAULT CHARSET=utf8mb4 COMMENT='行政区划表';

system_area 表是一个用来存储地理区域信息的数据库表,这些信息通常是按照一定的层级关系组织起来的,例如国家、省份、城市、区县等。该表的设计考虑到了以下几点:

  1. 标识与命名
    • id: 主键,唯一标识每一个行政区划记录。
    • name: 行政区划的名称,比如“中国”、“北京”。
    • code: 编码,一般为标准的行政区划代码,例如中国的区号。
    • parent_code: 父节点编码,表示该行政区划所属的上级行政区划。
  2. 分类与排序
    • type: 节点类型,用以区分不同级别的行政区划,如国家、省、市、县、街道、村等。
    • sort: 显示顺序,可以用于控制展示时的先后顺序。
  3. 状态管理
    • status: 行政区划的状态,如是否启用。
    • deleted: 是否被逻辑删除,通常用于软删除机制。
  4. 路径信息
    • name_path: 名称路径,记录从顶级行政区划到当前行政区划的完整名称链路。
    • code_path: 编码路径,记录从顶级行政区划到当前行政区划的完整编码链路。
  5. 审计字段
    • creator: 创建者,记录创建这条记录的人或系统。
    • create_time: 创建时间,记录创建的时间戳。
    • updater: 更新者,记录最后更新这条记录的人或系统。
    • update_time: 更新时间,记录最后更新的时间戳。
    • create_user_name: 创建者的名称。
    • update_user_name: 更新者的名称。
  6. 其他信息
    • tenant_id: 租户编号,用于多租户环境下区分不同的租户数据。

表的应用场景

这个表可以用于多种应用场景,例如:

  • 地址选择器:在电商、物流等需要用户选择地址的服务中,提供一个多级联动的选择器。
  • 数据分析:基于地理位置进行数据统计分析,了解不同地区的业务情况。
  • 系统配置:作为系统的基础配置之一,用于管理和维护地理信息。
    在这里插入图片描述

表的优势

  • 层次结构清晰:通过 parent_codecode_path 等字段,清晰地表达了不同行政区划之间的层次关系。
  • 可扩展性强:表结构设计灵活,可以根据实际需求添加更多的字段或调整现有字段。
  • 数据一致性保障:通过逻辑删除字段 deleted,可以在不破坏数据完整性的情况下进行数据的隐藏或恢复。
  • 审计追踪:通过记录创建者、更新者等信息,可以追溯数据变更的历史。

通过这样一个设计合理的行政区划表,可以有效地管理和利用地理信息,为各种基于地理位置的应用提供坚实的数据基础。

建表、省级行政区

数据截图
数据截图

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值