区划代码和城乡划分代码

区划代码和城乡划分代码的数据

访问地址:http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2021/index.html

前段时间写了一个程序,用来下载区划代码和城乡划分代码的数据,包含省、地级市、区县、镇街道、村社区的信息,是txt格式数据文件,下面是百度网盘的下载地址

链接:https://pan.baidu.com/s/1Aj5aEzwQ49owRLBcNV_vYg?pwd=pgjm

提取码:pgjm

下载解压后的文件

数据下载后如何将txt文件导入数据库,接下来以SqlServer数据库为例,一步步将txt文件数据导入数据库中

一、创建数据库

二、创建数据表,需要建5个表,建表语句如下

  1. 创建省份表

--省 直辖市
IF EXISTS(SELECT * FROM sys.objects WHERE name = 't_province')
BEGIN
    DROP TABLE t_province
END
CREATE TABLE t_province
(
    province_code int primary key,        --链接代码,下载数据时用
    province_name varchar(20),            --名称
    link_name varchar(20)                --链接地址,下载数据时用
);
  1. 创建城市表

--地级市
IF EXISTS(SELECT * FROM sys.objects WHERE name = 't_city')
BEGIN
    DROP TABLE t_city
END
CREATE TABLE t_city
(
    province_code int,                --链接代码,与省份关联
    city_code bigint primary key,    --市区划代码
    city_name varchar(40),            --名称
    link_name varchar(20),            --链接地址,下载数据时用
    link_prefix varchar(20),        --链接前缀,下载数据时用
    row_idx int                        --父级行序号,下载数据时用
);
  1. 创建县级表

--区 县 县级市
IF EXISTS(SELECT * FROM sys.objects WHERE name = 't_county')
BEGIN
    DROP TABLE t_county
END
CREATE TABLE t_county
(
    city_code bigint,
    county_code bigint primary key,
    county_name varchar(40),
    link_name varchar(20),
    link_prefix varchar(20),
    row_idx int
);
  1. 创建城镇表

--镇 街道
IF EXISTS(SELECT * FROM sys.objects WHERE name = 't_town')
BEGIN
    DROP TABLE t_town
END
CREATE TABLE t_town
(
    county_code bigint,
    town_code bigint primary key,
    town_name varchar(60),
    link_name varchar(30),
    link_prefix varchar(20),
    row_idx int
);
  1. 创建乡村表

--乡村 社区
IF EXISTS(SELECT * FROM sys.objects WHERE name = 't_village')
BEGIN
    DROP TABLE t_village
END
CREATE TABLE t_village
(
    town_code bigint,                    --城镇区划代码
    village_code bigint primary key,    --乡村区划代码
    village_classify_code varchar(3),    --城乡分类代码
    village_name varchar(60),            --名称
    link_name varchar(20)
);

三、将txt数据导入数据表中,使用的是Navicat工具连接的SqlServer。依次导入province.txt、city.txt、county.txt、town.txt、village1.txt、village2.txt、village3.txt、village4.txt、village5.txt,下面只演示了province.txt的导入步骤,其它文件的导入步骤都是一样的,只是第3步选择的txt文件不一样和第6步目标表需要手动选择下,其它文件就不展示了。

  1. 选中左侧的“表”,点击“导入向导”

  1. 选择“文本文件”,点击“下一步”

  1. 选择导入的txt文件,下面导入的是省份的txt文件

  1. 选择“逗号”,点击“下一步”

  1. 点击“下一步”

  1. 目标表如果不正确需要手动选择下,点击“下一步”

  1. 点击“下一步”

  1. 导入模式默认追加,点击“下一步”

  1. 点击“开始”

  1. 导入完成,点击“关闭”

  1. 重复以上步骤完成其它txt文件的导入

需要注意的第6步,目标表选择自己建的表t_city

错误的

正确的

四、在数据库查询数据

单表查询

SELECT * FROM t_province;

SELECT * FROM t_city;

SELECT * FROM t_county;

SELECT * FROM t_town;

SELECT * FROM t_village;

联表查询

--查询 湖北省的地级市
SELECT p.province_name,c.city_code,c.city_name 
FROM t_province p INNER JOIN t_city c ON p.province_code = c.province_code
WHERE p.province_name = '湖北省'

--查询 湖北省的区县、县级市
SELECT p.province_name,c.city_code,c.city_name ,c2.county_code,c2.county_name
FROM t_province p 
INNER JOIN t_city c ON p.province_code = c.province_code
INNER JOIN t_county c2 ON c.city_code = c2.city_code
WHERE p.province_name = '湖北省'
AND c.city_name = '武汉市'

--查询 湖北省武汉市的城镇、街道
SELECT p.province_name,c.city_code,c.city_name ,c2.county_code,c2.county_name,t.town_code,t.town_name
FROM t_province p 
INNER JOIN t_city c ON p.province_code = c.province_code
INNER JOIN t_county c2 ON c.city_code = c2.city_code
INNER JOIN t_town t on c2.county_code = t.county_code
WHERE p.province_name = '湖北省'
AND c.city_name = '武汉市'

--查询 湖北省武汉市的乡村、社区
SELECT p.province_name,c.city_code,c.city_name ,c2.county_code,c2.county_name,t.town_code,t.town_name,v.village_code,v.village_classify_code,v.village_name
FROM t_province p 
INNER JOIN t_city c ON p.province_code = c.province_code
INNER JOIN t_county c2 ON c.city_code = c2.city_code
INNER JOIN t_town t on c2.county_code = t.county_code
INNER JOIN t_village v on t.town_code = v.town_code
WHERE p.province_name = '湖北省'
AND c.city_name = '武汉市'
ORDER BY t.town_code

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
统计区划代码城乡划分代码发布说明: 一、编制依据 2008年7月,国务院批复同意国家统计局与民政部、住建部、公安部、财政部、国土部、农业部共同制定的《关于统计划分城乡的规定》(国函〔2008〕60号),自2008年8月1日实施,正式奠定了统计划分城乡的理论依据和方法基础。随后,国家统计局印发《统计区划代码城乡划分代码编制规则》(国统字〔2009〕91号)。 二、区划范围 统计区划代码城乡划分代码区划范围,是国家统计局开展统计调查的区划范围。未包括我国台湾省、香港特别行政区、澳门特别行政区。 三、发布内容 12位统计区划代码和3位城乡分类代码。 四、适用领域 《国务院关于统计划分城乡规定的批复》(国函〔2008〕60号)明确指出:“本规定作为统计划分城乡的依据,不改变现有的行政区划、隶属关系、管理权限和机构编制,以及土地规划、城乡规划等有关规定”。各级各部门在使用统计区划代码城乡划分代码时,请务必结合实际情况。 五、几个具体问题的说明 (一)补充编制开发区统计汇总识别码情况。为满足统计调查工作组织和数据汇总的需要,国家统计局对一些符合条件的开发区编制了统计汇总识别码。统计汇总识别码在统计区划代码的县级码段上编制,其码段为71~80。 (二)关于河北省沧州市任丘市的苟各庄镇、鄚州镇、七间房乡、保定市高阳县的龙化乡统计区划代码临时调整情况的说明。按照河北省委、省政府关于对雄安新区周边部分区域实施托管的通知要求,沧州市任丘市的苟各庄镇、鄚州镇、七间房乡划归雄县实施统计上托管,保定市高阳县的龙化乡划归安新县实施统计上托管。为确保统计调查工作的顺利开展, 国家统计局对苟各庄镇、鄚州镇、七间房乡、龙化乡的统计用十二位区划代码进行了临时调整,具体调整为:鄚州镇代码由130982104000变更为130638106000;苟各庄镇代码由130982105000变更为130638107000;七间房乡代码由130982206000变更为130638205000;龙化乡代码由130628204000变更为130632203000。上述变更后的统计区划代码为临时代码,待民政部门对雄安新区上述4个乡镇区划调整确认后,再将临时代码变更为正式统计区划代码。 (三)关于黑龙江省大兴安岭地区县级单位统计区划代码调整情况说明。民政部民函〔2018〕50号文件撤销黑龙江省大兴安岭地区漠河县(六位区划代码为232723),设立漠河市(六位区划代码为232701)。为执行国家标准,保证统计部门与民政部门名称相同的县级单位六位区划代码的一致性,国家统计局根据《统计区划代码城乡划分代码编制规则》(国统字〔2009〕91号),调整黑龙江省大兴安岭地区所辖的加格达奇区、松岭区、新林区和呼中区的六位统计区划代码,具体调整为:加格达奇区代码由232701变更为232761;松岭区代码由232702变更为232762;新林区代码由232703变更为232763;呼中区代码由232704变更为232764。 (四)此版本区划代码与第四次全国经济普查区划代码的相关说明。此版本区划代码是调查截止日期为2018年10月31日的统计区划代码。由于第四次全国经济普查清查工作于2018年8月开始,四经普的清查和登记工作中采用2018年6月15日的统计区划代码。第四次全国经济普查数据处理使用2018年10月31日的统计区划代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值