省市区数据的 SQL 脚本,单表和多表都搞得挺清楚的,蛮适合前端或者后台要搞地址联动的场景。单表的结构简单直接,像省、市、区都塞一个表里,字段就是 province、city、district 这些,适合体量不大的项目,用起来还挺顺手。
多表的设计就比较规范了,省、市、区各自分表,用外键来串起来,比如 city_table 里的 province_id 对应 province_table 的 id,查询逻辑更清晰,扩展性也更强,适合做那种数据量大的系统。
适配 MySQL 5.5+,也可以照着改成 Oracle 的版本。有现成的 SQL 文件,比如 省市区单表.sql 和 省市区.sql,你直接用 LOAD DATA INFILE 或者 INSERT INTO 一导入就能用。注意下编码,别导进去全是乱码就尴尬了。
你如果在搞 地址级联、物流配送、用户注册 这些场景,这个资源还挺合适的。要是用在 Vue 的省市区下拉框里,前端配合后端一联动,响应也快,代码也简单。
想扩展一下的,下面这些链接也可以参考:
如果你项目初期图方便,可以先上单表方案,需求复杂了再考虑拆成多表也不迟。