数字的检索速度快鱼字符串
省份的名字不能重复,要添加唯一性约束
# 通用的省市区表,三张表 tinyint 最大 127
# 省份的名字不能重复,要添加唯一性约束
CREATE TABLE `province`
(
`id` TINYINT(2) UNSIGNED PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
`name` VARCHAR(30) NOT NULL COMMENT '省份名称',
`code` MEDIUMINT(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT '省份代码',
UNIQUE unq_name (`name`)
) ENGINE = INNODB
DEFAULT CHARSET = utf8mb4 COMMENT = '省份表';
# 城市表,通过,省份代码来关联城市
CREATE TABLE `province_city`
(
`id` SMALLINT(3) UNSIGNED PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
`name` VARCHAR(60) NOT NULL COMMENT '城市名称',
`code` MEDIUMINT(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT '城市代码',
`province_code` MEDIUMINT(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT '省份代码',
INDEX idx_province_code (`province_code`)
) ENGINE = INNODB
DEFAULT CHARSET = utf8mb4 COMMENT = '城市表';
# 区县表
CREATE TABLE `province_district`
(
`id` SMALLINT(5) UNSIGNED PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
`name` VARCHAR(60) NOT NULL COMMENT '区县名称',
`code` INT(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '区县代码',
`city_code` MEDIUMINT(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT '城市代码',
INDEX idx_city_code (`city_code`)
) ENGINE = INNODB
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、所在地邮编、电话、经纬度信息、最后更新日期
address_id, address, address2, district, city_id, postal_code, phone, location
城市信息表
记录城市 ID、对应的城市名称、城市所属的国家/地区、最后更新日期
city_id, city, country_id, updated_at
国家/地区信息表
记录国家/地区的 ID、国家/地区的名称、最后更新日期
country_id, country, updated_at