将行政区域导入SQL SERVER
步骤如下:
一、到国家统计局网站,找到县及县以上行政区划页面。
我找到的是这个: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相关推荐
- 将Excel文件数据库导入SQL Server
将Excel文件数据库导入SQL Server的三种方案//方案一: 通过OleDB方式获取Excel文件的数据,然后通过DataSet中转到SQL Server openFileDialog = n ...
- PowerShell 导入 SQL Server 的 PS 模块
接触过UNIX或者Linux 的朋友都知道此类系统有着功能强大.无所不能的壳程序,称之为Shell.微软公司于2006年第四季度正式发布PowerShell,它的出现标志着, 微软公司向服务器领域迈出 ...
- net以execl做数据库_C#.NET Excel文件数据导入SQL Server数据库完整代码
展开全部 在日常的项目中,Excel,Word,txt等格式的数62616964757a686964616fe58685e5aeb931333337626235据导入到数据库中是很常见 这里将分为.n ...
- 将Excel数据导入SQL Server数据库
遇到了一个需求,需要将Excel中的数据导入SQL Server数据库中,当然,不是使用企业管理器之类的直接导入数据的那种,而是要做到程序中.本来我最初的考虑是将Excel中的数据读到dataset中 ...
- 实战手记:让百万级数据瞬间导入SQL Server
实战手记:让百万级数据瞬间导入SQL Server 想必每个DBA都喜欢挑战数据导入时间,用时越短工作效率越高,也充分的能够证明自己的实力.实际工作中有时候需要把大量数据导入数据库,然后用于各种程序计 ...
- 从压缩文件将数据导入SQL Server
介绍 (Introduction) I have seen many organizations receive data from various sources and import into S ...
- 使用SSIS包导入SQL Server FILESTREAM数据
初始配置 (Initial configuration) We have been exploring the SQL Server FILESTREAM feature in this ongoin ...
- ssis导入xml_使用SSIS包将XML文档导入SQL Server表
ssis导入xml This article guides you through importing XML documents into SQL tables using SSIS package ...
- 使用SSIS包将多个Excel文件中的数据导入SQL Server表中
This article explores an SSIS package for importing multiple Excel files data into SQL Server tables ...
最新文章
- ubuntu上最使用jni最简单易懂的例子
- 产品经理专业知识50篇(十二)-抖音训练营项目实战(知识付费MVP产品模型)
- 网页缩放与窗口缩放_功能缩放—不同的Scikit-Learn缩放器的效果:深入研究
- 前端学习(1973)vue之电商管理系统电商系统之完成修改的操作
- VAE【变分自编码器】
- 【软件测试】软件测试的基本流程(一般步骤)
- 韩国军事网络指挥中心遭到网络攻击
- 《爱你就像爱生命》你好哇,陌生人
- 线性代数第6章答案(仅供参考!!!)
- 恒指赵鑫:07.09今日实盘喊单记录与小结
- Excel 2010 编辑公式
- 炼数成金 课件整理数据分析与R语言 第1周
- 用计算机做科学实验心得体会,做实验的心得体会3篇
- Java实现 LeetCode 754 到达终点数字(暴力+反向)
- 概率论与数理统计-笔记
- to_date函数在hive、presto、spark中的区别
- 在寒冬“激流勇进”的BlockTower与其它基金有何不同?
- [附源码]Nodejs计算机毕业设计基于HTML5的智能仓储管理系统Express(程序+LW)
- jQuery打印插件jqprint,无法打印select下拉框的值
- 90后男生全款4万买房移居鹤岗