Key_Value 形式 存储_5级省市城乡划分代码 (mysql 8.0 实例)

简介: 本文介绍了如何使用MySQL8.0数据库中的Key_Value形式存储全国统计用区划代码和城乡划分代码(5级),包括导入数据、通过数学函数提取省市区信息,以及查询5级行政区划的详细数据。

Key_Value 形式 存储_5级省市城乡划分代码 (mysql 8.0 实例)

这个案列是很久以前 我面试一个家公司一个面试题 ,公司的老板是一个在 google 工作过的 工程师,后来回上海创业了,现在回想起来很有意思。

数据准备

我们 用2022年度全国统计用区划代码和城乡划分代码 (5级)做实例

下载全国统计用区划代码和城乡划分代码


先建表

CREATE TABLE `china_code` (
  `chinacode` bigint DEFAULT NULL,
  `value` varchar(100) DEFAULT NULL
) ENGINE=MyISAM ;

select * from  china_code

一、举例导入数据

insert into china_code(chinacode,value) values
('310000000000','上海市'),
('310100000000','直辖区'),
('310112000000','闵行区'),
('310112102000','七宝镇'),
('310112102042','华林路第一居委会'),
('310104000000','徐汇区'),
('310104011000','田林街道'),
('310104011033','千鹤第五居委会'),
('110000000000','北京市'),
('110100000000','直辖区'),
('110105000000','朝阳区'),
('110105009000','亚运村街道'),
('110105009057','民族园社区居民委员会'),
('230000000000','黑龙江省'),
('231100000000','黑河市'),
('231124000000','孙吴县'),
('231124100000','孙吴镇'),
('231124100218','镇南村委会'),
('510000000000','四川省'),
('513200000000','阿坝藏族羌族自治州'),
('513201000000','马尔康市'),
('513201100000','马尔康镇'),
('513201100212','查米村村民委员会')

二 、用数学函数获取省和直辖市

以上2个函数都是余数函数
select *  from  china_code where chinacode%1000000000=0
select *  from  china_code where mod(chinacode,1000000000)=0


三、省,市,区,村,居委会(5级)

select a.chinacode,a.value,b.chinacode,b.value,c.chinacode,c.value,d.chinacode,d.value,e.chinacode,e.value from  china_code a
left join china_code b on left(a.chinacode,2)=left(b.chinacode,2) 
left join china_code c on left(b.chinacode,4)=left(c.chinacode,4) 
left join china_code d on left(c.chinacode,6)=left(d.chinacode,6)
left join china_code e on left(d.chinacode,8)=left(e.chinacode,8) 
where   a.chinacode%1000000000=0 
and b.chinacode%10000000=0 and b.chinacode%1000000000!=0
and c.chinacode%1000000=0 and  c.chinacode%100000000!=0
and d.chinacode%1000=0 and   d.chinacode%1000000!=0
and e.chinacode%1000!=0

总结

希望这个例子对大家有帮助 ,也许其他的场景也可以使用。


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
3月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
7月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
8月前
|
消息中间件 缓存 弹性计算
纯PHP+MySQL手搓高性能论坛系统!代码精简,拒绝臃肿
本内容分享了一套经实战验证的社交系统架构设计,支撑从1到100万用户的发展,并历经6次流量洪峰考验。架构涵盖客户端层(App、小程序、公众号)、接入层(API网关、负载均衡、CDN)、业务服务层(用户、内容、关系、消息等服务)、数据层(MySQL、Redis、MongoDB等)及运维监控层(日志、监控、告警)。核心设计包括数据库分库分表、多级缓存体系、消息队列削峰填谷、CQRS模式与热点数据动态缓存。同时提供应对流量洪峰的弹性伸缩方案及降级熔断机制,并通过Prometheus实现全链路监控。开源建议结构清晰,适合大型社交平台构建与优化。
326 11
|
3月前
|
存储 弹性计算 关系型数据库
如何通过控制台创建RDS MySQL实例
本文介绍了通过控制台创建RDS MySQL实例的详细步骤,包括准备工作、选择计费方式、地域、实例规格、存储空间等关键配置,并指导用户完成下单与实例查看。
|
4月前
|
存储 关系型数据库 MySQL
【赵渝强老师】MySQL数据库的多实例环境
MySQL多实例是指在一台服务器上运行多个MySQL服务,通过不同端口提供独立的数据服务。各实例共享安装程序,但使用各自的配置文件和数据文件,实现资源高效利用。本文详细介绍了如何通过“mysqld_multi”工具配置和启动多个MySQL实例,并演示了目录创建、初始化、配置文件修改及实例启动等操作步骤。
186 1
|
7月前
|
存储 关系型数据库 MySQL
【免费动手教程上线】阿里云RDS MySQL推出大容量高性能存储:高性能本地盘(最高16TB存储空间)、高性能云盘(最高64TB存储空间)
阿里云RDS MySQL提供高性能本地盘与高性能云盘等存储方案,满足用户大容量、低延迟需求。高性能本地盘单盘最大16TB,IO延时微秒级;高性能云盘兼容ESSD特性,支持IO性能突发、BPE及16K原子写等能力。此外,阿里云还提供免费动手体验教程,帮助用户直观感受云数据库 RDS 存储性能表现。
|
8月前
|
SQL Oracle 关系型数据库
在MySQL Shell里 重启MySQL 8.4实例
在MySQL Shell里 重启MySQL 8.4实例
249 2
|
10月前
|
存储 关系型数据库 MySQL
MySQL进阶突击系列(09)数据磁盘存储模型 | 一行数据怎么存?
文中详细介绍了MySQL数据库中一行数据在磁盘上的存储机制,包括表空间、段、区、页和行的具体结构,以及如何设计和优化行数据存储以提高性能。
|
存储 关系型数据库 MySQL
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
398 2

推荐镜像

更多