步骤如下:

一、到国家统计局网站,找到县及县以上行政区划页面。

我找到的是这个:http://www.stats.gov.cn/tjbz/xzqhdm/t20130118_402867249.htm

然后将页面上的代码直接复制粘贴到记事本,保存为 e:\temp\region.txt。

(注意复制时,可能是受内存限制,不一定能一次性复制完全所有内容,注意确认一下。)

复制粘贴的结果,让我傻眼了:

居然是邮政编码与名称各自一行的。手动改成一行?写个程序来纠正?蚊子都睡了。

二、硬着头皮用SQL SERVER Management Studio导进去。

导入的时候注意一点,就是要在目标表里设置一个标识列。如图:

三、生成区域表

在这里导进去的目标表,只是一个临时用的中间表:region_tmp,我真正要的,是表region。

中间表region_tmp的结构:

region_tmp
======================
id           int  identity(1,1)
cn          varchar(50)

导进去以后,数据如下:

而我想要的区域表region

region
=========================
id              int identity(1,1) 
code        char(6)
name       nvarchar(50)
parentId   int

所以现在需要将数据再从region_tmp ==> region。

在导入的时候,之所以要设置一个标识列,就是用来区分邮政编码和地名。在region_tmp,奇数行都是编码,偶数行则是地名,因此可以通过以下语句将编码和地名都写进region的同一行:

INSERT INTO [dbo].[Region]([code],[name],[parentId])
SELECT a.cn,b.cn,0FROM region_tmp a,region_tmp bWHERE b.id=a.id+1and (a.id % 2) = 1

四、修改区域表

现在要修改字段region.parentId。就是每个地名记录要有一个父ID,在使用的时候好排序。比如广州的父ID是广东省,天河区的父ID是广州。

--设置市级地名的父ID
UPDATE [dbo].[region]SET parentid=b.idFROM [region],[region] bWHERE LEFT([region].code,2)=LEFT(b.code,2)AND RIGHT([region].code,4)<>'0000' AND RIGHT([region].code,2)='00'AND RIGHT(b.code,4)='0000';--设置县级地名的父ID
UPDATE [dbo].[region]SET parentid=b.idFROM [region],[region] bWHERE LEFT([region].code,4)=LEFT(b.code,4)AND RIGHT([region].code,2)!='00'AND RIGHT(b.code,2)='00';

大功告成,可惜没有双儿。

将行政区域导入SQL SERVER相关推荐

  1. 将Excel文件数据库导入SQL Server

    将Excel文件数据库导入SQL Server的三种方案//方案一: 通过OleDB方式获取Excel文件的数据,然后通过DataSet中转到SQL Server openFileDialog = n ...

  2. PowerShell 导入 SQL Server 的 PS 模块

    接触过UNIX或者Linux 的朋友都知道此类系统有着功能强大.无所不能的壳程序,称之为Shell.微软公司于2006年第四季度正式发布PowerShell,它的出现标志着, 微软公司向服务器领域迈出 ...

  3. net以execl做数据库_C#.NET Excel文件数据导入SQL Server数据库完整代码

    展开全部 在日常的项目中,Excel,Word,txt等格式的数62616964757a686964616fe58685e5aeb931333337626235据导入到数据库中是很常见 这里将分为.n ...

  4. 将Excel数据导入SQL Server数据库

    遇到了一个需求,需要将Excel中的数据导入SQL Server数据库中,当然,不是使用企业管理器之类的直接导入数据的那种,而是要做到程序中.本来我最初的考虑是将Excel中的数据读到dataset中 ...

  5. 实战手记:让百万级数据瞬间导入SQL Server

    实战手记:让百万级数据瞬间导入SQL Server 想必每个DBA都喜欢挑战数据导入时间,用时越短工作效率越高,也充分的能够证明自己的实力.实际工作中有时候需要把大量数据导入数据库,然后用于各种程序计 ...

  6. 从压缩文件将数据导入SQL Server

    介绍 (Introduction) I have seen many organizations receive data from various sources and import into S ...

  7. 使用SSIS包导入SQL Server FILESTREAM数据

    初始配置 (Initial configuration) We have been exploring the SQL Server FILESTREAM feature in this ongoin ...

  8. ssis导入xml_使用SSIS包将XML文档导入SQL Server表

    ssis导入xml This article guides you through importing XML documents into SQL tables using SSIS package ...

  9. 使用SSIS包将多个Excel文件中的数据导入SQL Server表中

    This article explores an SSIS package for importing multiple Excel files data into SQL Server tables ...

最新文章

  1. ubuntu上最使用jni最简单易懂的例子
  2. 产品经理专业知识50篇(十二)-抖音训练营项目实战(知识付费MVP产品模型)
  3. 网页缩放与窗口缩放_功能缩放—不同的Scikit-Learn缩放器的效果:深入研究
  4. 前端学习(1973)vue之电商管理系统电商系统之完成修改的操作
  5. VAE【变分自编码器】
  6. 【软件测试】软件测试的基本流程(一般步骤)
  7. 韩国军事网络指挥中心遭到网络攻击
  8. 《爱你就像爱生命》你好哇,陌生人
  9. 线性代数第6章答案(仅供参考!!!)
  10. 恒指赵鑫:07.09今日实盘喊单记录与小结
  11. Excel 2010 编辑公式
  12. 炼数成金 课件整理数据分析与R语言 第1周
  13. 用计算机做科学实验心得体会,做实验的心得体会3篇
  14. Java实现 LeetCode 754 到达终点数字(暴力+反向)
  15. 概率论与数理统计-笔记
  16. to_date函数在hive、presto、spark中的区别
  17. 在寒冬“激流勇进”的BlockTower与其它基金有何不同?
  18. [附源码]Nodejs计算机毕业设计基于HTML5的智能仓储管理系统Express(程序+LW)
  19. jQuery打印插件jqprint,无法打印select下拉框的值
  20. 90后男生全款4万买房移居鹤岗

热门文章

  1. (转)分布式文件存储FastDFS(五)FastDFS常用命令总结
  2. Runtime 系列 3-- 给 category 添加属性
  3. 常用的Windows批处理
  4. iOS开发那些事-故事板实现标签导航
  5. 计算机图形学----基于3D图形开发技术 (韩正贤 著)
  6. setInterval动态时间处理
  7. python的学习笔记/002-1(2018-5-18 )
  8. MySQL索引管理及执行计划
  9. 被spring和hibernate4逼疯
  10. Rabbitmq-理论基础