专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

中国省市县级联菜单,设计数据库表,把开源项目转换SQL入库

  头条创作挑战赛目录1,关于省市县数据2,使用chinaregions项目3,总结1,关于省市县数据
  github上有中国的省市县开源项目,找到一个特别评分高的项目2。9K星星:
  https:github。comwecatchchinaregions
  我修改的代码放到这里了,包括脚本和SQL:
  https:github。comfreewebsyschinaregionslite
  设计思路,这个项目有多种方式的接入。
  1,json文件,放服务端客户端都行,直接数据写死了。
  2,数据库的ddl文件直接存储到数据库中。
  个人偏向第二中,存储到数据库中,可以方便维护点,同时在做数据处理分析的时候。
  可以直接join表,数据的修改查询也很方便。2,使用chinaregions项目gitclonehttps:github。comwecatchchinaregions。gitcdchinaregionsmysql有数据库相关脚本
  但是现在有个问题,这个数据库的脚本是分3个表的,本身数据量也不大,没有必要分成三个表。
  于是合并成一个region表得了。同时发现这个地区编码,为了兼容乡村使用的是12位的。
  如果要是使用省市区,使用前6位就可以了。
  数据库表设计:CREATETABLEregion(idvarchar(10)NOTNULLCOMMENT地区主键编号,namevarchar(50)NOTNULLCOMMENT地区名称,parentidvarchar(10)DEFAULTNULLCOMMENT地区父id,levelint(2)DEFAULTNULLCOMMENT1省、自治区、直辖市2地级市,3市辖区、县,PRIMARYKEY(id))ENGINEInnoDBDEFAULTCHARSETutf8COMMENT地区表;默认,父节点和level都是0
  但是现在有个问题,没有提供相关的数据库文件,是拆分的。
  不用担心,作者已经有个python的脚本了。直接修改python代码,自定义生成一个表就行了。
  上pyhton3脚本,修改下官方的脚本就可以了:coding:utf8importjsonimportosimportcodecsfromcollectionsimportOrderedDictddlCREATETABLEregion(idvarchar(10)NOTNULLCOMMENT地区主键编号,namevarchar(50)NOTNULLCOMMENT地区名称,parentidvarchar(10)DEFAULTNULLCOMMENT地区父id,levelint(2)DEFAULTNULLCOMMENT1省、自治区、直辖市2地级市,3市辖区、县,PRIMARYKEY(id))ENGINEInnoDBDEFAULTCHARSETutf8COMMENT地区表;sqltmpINSERTIGNOREINTOregion(id,name,parentid,level)VALUES(s,s,s,s);regionpathmysqlregiondefmakedata():只读取省市县数据。sourcefilelist〔county,city,province〕forkinlist(reversed(sourcefilelist)):datacodecs。open(jsons。jsonk,r,utf8)。read()jsondatajson。loads(data)mysqldatalist〔〕ifkprovince:forindex,provinceinenumerate(jsondata):tmpidprovince〔id〕mysqldatasqltmp(province〔id〕〔0:6〕,province〔name〕,0,1)noqamysqldatalist。append(mysqldata)ifkcity:index0forprovinceidinsorted(jsondata。keys()):forcityinjsondata〔provinceid〕:index1mysqldatasqltmp(city〔id〕〔0:6〕,city〔name〕,provinceid〔0:6〕,2)noqamysqldatalist。append(mysqldata)ifkcounty:index0forcityidinsorted(jsondata。keys()):forcountyinjsondata〔cityid〕:index1mysqldatasqltmp(county〔id〕〔0:6〕,county〔name〕,cityid〔0:6〕,3)noqamysqldatalist。append(mysqldata)ifkin〔province,city,county〕:outmysqlcodecs。open(regionpaths。sqlk,w,utf8)index0start0whilestartlen(mysqldatalist):endstart1000outmysql。write(。join(mysqldatalist〔start:end〕))startendoutmysql。close()defmain():ifnotos。path。exists(regionpath):os。mkdir(regionpath)makedata()ifnamemain:main()
  然后生成了省市区的相关的SQL代码:INSERTIGNOREINTOregion(id,name,parentid,level)VALUES(110000,北京市,0,1);INSERTIGNOREINTOregion(id,name,parentid,level)VALUES(120000,天津市,0,1);INSERTIGNOREINTOregion(id,name,parentid,level)VALUES(130000,河北省,0,1);INSERTIGNOREINTOregion(id,name,parentid,level)VALUES(140000,山西省,0,1);INSERTIGNOREINTOregion(id,name,parentid,level)VALUES(150000,内蒙古自治区,0,1);INSERTIGNOREINTOregion(id,name,parentid,level)VALUES(210000,辽宁省,0,1);。。。。INSERTIGNOREINTOregion(id,name,parentid,level)VALUES(110101,东城区,110100,3);INSERTIGNOREINTOregion(id,name,parentid,level)VALUES(110102,西城区,110100,3);INSERTIGNOREINTOregion(id,name,parentid,level)VALUES(110105,朝阳区,110100,3);INSERTIGNOREINTOregion(id,name,parentid,level)VALUES(110106,丰台区,110100,3);INSERTIGNOREINTOregion(id,name,parentid,level)VALUES(110107,石景山区,110100,3);INSERTIGNOREINTOregion(id,name,parentid,level)VALUES(110108,海淀区,110100,3);INSERTIGNOREINTOregion(id,name,parentid,level)VALUES(110109,门头沟区,110100,3);。。。。。INSERTIGNOREINTOregion(id,name,parentid,level)VALUES(110101,东城区,110100,3);INSERTIGNOREINTOregion(id,name,parentid,level)VALUES(110102,西城区,110100,3);INSERTIGNOREINTOregion(id,name,parentid,level)VALUES(110105,朝阳区,110100,3);INSERTIGNOREINTOregion(id,name,parentid,level)VALUES(110106,丰台区,110100,3);INSERTIGNOREINTOregion(id,name,parentid,level)VALUES(110107,石景山区,110100,3);INSERTIGNOREINTOregion(id,name,parentid,level)VALUES(110108,海淀区,110100,3);INSERTIGNOREINTOregion(id,name,parentid,level)VALUES(110109,门头沟区,110100,3);共3644条记录。。。。
  数据都对1,2,3级数据都关联对了,同时对字符串进行裁剪了下,之前的区号是12位,包括到乡镇。
  这个是6位符合邮编代码。其他的数据就不用了。
  3,总结
  单个数据表可以解决省市区的问题,要是到乡镇的话还是拆分成小表比较好。
  查询速度也快了。要是就着三级查询,合并成一张表就行。
  这个项目本地也可以启动
  cdlocationdemo
  npminstall
  npmrunstart
  就可在http:localhost:4200访问了。

连更5篇文章,收益0。03,还要继续吗?2022生机大会我是多妈,欢迎来到妈妈的成长森林!点击右上方关注,持续与你分享个人成长和育儿干货。01hr你好,我是多妈。12月21日放寒假起,我开始重新投入写作。从12月28日到春节用酒,牢记2买2不买,都是老酒友的经验,非常重要过了腊八就是年,新年的脚步越来越近了。春节是国人非常重视的节日,阖家团聚走亲访友,都少不了酒水的加持,因此春节期间的用酒量也是非常大的。现在很多年轻人都喜欢在网上购买酒水,一到年关神奇美丽的兴义万佛寺万佛寺位于贵州省黔西南州兴义市东南部,与万峰林风景区融为一体,与泥凼石林齐名。万佛寺周边全是青山,灌木葱郁,奇石挺拔,九峰耸立。这里是典型的喀斯特地貌。万佛寺的洞宽为126米,洞高建始让美丽乡村带动美丽经济新年伊始,万象更新。1月3日,沿着平整的通村柏油马路,走进业州镇罗家坝,公路边错落有致的房屋,宽敞的广场平整而干净,路边墙上廉洁画作法治宣传栏,五彩斑斓的田园山林,在广场上跳舞的村川菜经典味型制作,比较有特色的味型制作,哪款味型更适合你呢?头条创作挑战赛川菜经典味型制作,比较有特色的味型制作,哪款味型更适合你呢?鱼香味汁,川菜十大代表味型之一,鱼香味型的特点咸甜酸辣兼备,葱姜蒜味浓郁,鱼香味有热菜和凉菜之分,主要以热贻贝之乡的蝶变之路浙江省舟山市嵊泗县市场监管局标准赋能贻贝产业发展纪实舟山市嵊泗县位于浙江省最东部舟山群岛最北部。千百年来,这片碧波万顷温暖澄澈的海域孕育出了品质上乘的嵊泗贻贝,它不仅成为享誉中外的地理标志产品,更成就了嵊泗特色产业的金名片。时至今日环境整治三步走打造自家门口靓丽风景线大众网海报新闻记者田泽文淄博报道晨曦初露,迎着朝阳到家附近的公园游园里晨跑暮色渐浓,漫步街头,道路两旁的路灯整齐划一周末假日,和家人一起到马桥植物园马桥公园党建主题园,享受亲子时光京东年货节全面开启年货春运发布区域特色年货金榜好物闭眼买一键送到家小孩小孩你别馋,过了腊八就是年。兔年春节临近之际,为更好地满足消费者置办年货筹备佳礼的需求,以过年,还得是京东为主题的京东年货节现已全面开启,同时,2023年年货春运也正式启动。此天文小知识什么是金星?有何特别的?作为夜空中最明亮的行星之一金星,自古就为天文学者所知晓。本文将从金星的发现历史金星的表面颜色等几个方面为你详细介绍这颗神奇的行星。内容关于金星的事实金星是什么时候被发现的?金星有多喝腊八粥腌腊八蒜多种民俗欢度温暖祥和腊八节央视网消息12月30日是农历腊月初八,俗话说,腊八过了就是年。在安徽歙县四川仪陇湖北恩施,当地群众杀年猪煮腊八粥,多种民俗让人们过一个温暖祥和的腊八节。在安徽歙县,每到农历腊月初八搭建孕产妇安全温暖产床党的二十大报告提出,建立生育支持政策体系。近年来,高龄孕产妇比例有所升高,母婴安全面临新挑战。完善危重孕产妇和新生儿救治体系,为孕产妇搭建安全温暖的产床,将为促进家庭生育提供有力支
28。86万起纯电续航里程620km的中型SUV问界M5EV是否值得推荐在新能源市场当中,以往一部分消费者们对于纯电动汽车的两个顾虑就是续航里程少以及充电条件不太便利的问题,但是随着新能源行业高速发展的当下,许多纯电动汽车动则500km以上的续航能力以iQOO11对比vivoX90,同为蓝厂性价比旗舰,预算三千多怎么选?这两年蓝厂的产线节奏非常稳,而且无论是X系列还是iQOO数字系列,在产品力上竞争都是很强的。最近vivo接连发布了年度旗舰X90系列和iQOO11系列,这两款手机价位差不多,一款主贝佐斯女友与儿子聚餐,穿紧身衣身材丰腴,被儿子身边的女孩抢镜据英国每日邮报报道,最近,杰夫贝佐斯和他交往多年的女友劳伦桑切斯,以及她21岁的儿子尼克冈萨雷斯在加州马里布著名的Nobu餐厅享用了一顿丰盛的晚餐。桑切斯穿着一件棕色紧身衣,与亿万降央卓玛给3个兄弟买车,被婆婆当亲女儿疼爱,如今生下3个儿子她的声音被誉为最强女中音,当你坐在台下时你会感觉她不是在唱歌,她是在为台下的观众讲述故事。只见她穿着一身藏族的传统服饰,手上拿着话筒,其余的便没有任何装饰了,就是这样自然大方的台风守寡7年,康熙非要杀她俩儿子,建宁公主杀了吴三桂还不够吗?1674年,建宁公主刚守寡,就和两个幼子一起被幽禁。7年后,侄儿康熙非要处死她的俩儿子,建宁公主拼命求饶他们什么都不知道,你怎么这么狠?康熙却说要怪就怪吴三桂。可这时候,吴三桂已经邓攸丢儿子留侄子感天动地,房玄龄却说他活该断子绝孙赵氏孤儿的感人故事几乎是家喻户晓,程婴害死自己儿子保全忠烈血脉的美名也是流芳千秋。在我国两晋时期,也有一个弃子保侄的感人故事,但主人公却被有些史家骂为活该断子绝孙赵氏孤儿影视剧照西立侄子还是儿子为储君,武则天陷入两难,狄仁杰一语提醒她武则天于690年即位,建立武周,当时她已经66岁,随着年龄越来越大,就不得不考虑继承皇位的人选。按照惯例和古训,皇位如果要传给同姓的自己儿子,肯定是李显李旦了,可是她是一个女皇帝,孩子,你长得特别像我牺牲的儿子!孩子,你长得特别像我牺牲的儿子!近日,江苏常州一女子偶遇酷似牺牲儿子的陌生小伙鼓起勇气搭话对方原来,该女子的儿子是警察2020年在执勤途中遭遇车祸去世看到和儿子这么像的人本以为只是古代帝王,宁可过继嗣子,也不愿把皇位传给女儿,原因在此!2022生机大会在古代封建社会,从君主帝王,到权贵豪富们,宁可将家产传给侄子堂侄,甚至是五服内的族子,收为嗣子也绝不愿传给女儿,这是什么缘故?只因在男尊女卑的社会,女性根本不具备完融资50亿元后,岚图首款轿车亮相摘要至此,岚图汽车完成了三年三品类的布局,成为新造车势力中产品布局最完整的玩家之一文李皙寅编辑赵成12月15日晚,岚图汽车首款轿车追光全球首发亮相。至此,岚图汽车完成了三年三品类的小米13用户好评率高达99,但买之前,先看一下这3个差评不论小米13对标iPhone成功与否,甚至其采用的直角边框直面屏的设计方案被认为是在抄袭iPhone,但不可否认的是,小米13发布不过6天的时间,就获得了非常成功的销量成绩,以及优
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网