数字的检索速度快鱼字符串
省份的名字不能重复,要添加唯一性约束

  1. # 通用的省市区表,三张表 tinyint 最大 127
  2. # 省份的名字不能重复,要添加唯一性约束
  3. CREATE TABLE `province`
  4. (
  5. `id` TINYINT(2) UNSIGNED PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
  6. `name` VARCHAR(30) NOT NULL COMMENT '省份名称',
  7. `code` MEDIUMINT(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT '省份代码',
  8. UNIQUE unq_name (`name`)
  9. ) ENGINE = INNODB
  10. DEFAULT CHARSET = utf8mb4 COMMENT = '省份表';
  11. # 城市表,通过,省份代码来关联城市
  12. CREATE TABLE `province_city`
  13. (
  14. `id` SMALLINT(3) UNSIGNED PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
  15. `name` VARCHAR(60) NOT NULL COMMENT '城市名称',
  16. `code` MEDIUMINT(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT '城市代码',
  17. `province_code` MEDIUMINT(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT '省份代码',
  18. INDEX idx_province_code (`province_code`)
  19. ) ENGINE = INNODB
  20. DEFAULT CHARSET = utf8mb4 COMMENT = '城市表';
  21. # 区县表
  22. CREATE TABLE `province_district`
  23. (
  24. `id` SMALLINT(5) UNSIGNED PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
  25. `name` VARCHAR(60) NOT NULL COMMENT '区县名称',
  26. `code` INT(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '区县代码',
  27. `city_code` MEDIUMINT(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT '城市代码',
  28. INDEX idx_city_code (`city_code`)
  29. ) ENGINE = INNODB
  30. DEFAULT CHARSET = utf8mb4 COMMENT = '区县表';

省市区参考

2021最新省市区sql/json 文件

  • 数据来源于国家统计局
  • 更新到国家2020-11-06日 统计的2020年省市区数据

https://gitee.com/gaohuazi/china_regions/tree/level5/sql
gaohuazi-china_regions-level5.zip

地理信息表

记录每一个地址的详细信息,包含的字段有地址 ID、地址、地区、所属城市 ID、所在地邮编、电话、经纬度信息、最后更新日期

  1. address_id, address, address2, district, city_id, postal_code, phone, location

image.png

城市信息表

记录城市 ID、对应的城市名称、城市所属的国家/地区、最后更新日期

  1. city_id, city, country_id, updated_at

image.png

国家/地区信息表

记录国家/地区的 ID、国家/地区的名称、最后更新日期

  1. country_id, country, updated_at

image.png