一、省级行政区

  全国共有省级行政区划单位34个,其中23个省(包括台湾省),5个自治区,4个直辖市,2个特别行政区。

二、地级行政单位

  全国共有地级行政区划单位334个,其中294个地级市、7个地区、30个自治州、3个盟。

      19年,取缔了一个地级市,  山东,济莱合并 ,于此,333个地级行政区

 三、县级行政单位

  全国共有县级行政区划单位2851个,其中966个市辖区、367个县级市、1347个县、117自治县、49个旗、3个自治旗、1个特区、1个林区。

 

原,共计3219,现 3218个省市区级行政区

http://www.mca.gov.cn/article/sj/ 中国民政部 最新行政区代码

http://www.mca.gov.cn/article/sj/tjyb/qgsj/2019/201909291543.html 行政区体系

 

http://www.zxinc.org/gb2260-latest.htm  有香港下的区

SELECT COUNT(*) FROM s_province;  --   34
SELECT COUNT(*) FROM s_city; --       333 
SELECT COUNT(*) FROM s_area; --      2851 
SELECT COUNT(*) FROM city;  --       3218

3218 

 

SELECT COUNT(*)  FROM city WHERE   type=3 AND `code`   IN (
 
SELECT id FROM  city WHERE  type=2  AND  `code` IN (
 
SELECT  id FROM city WHERE type IN(1,4) AND `code`=1
)OR type=4
)

type

SELECT COUNT(*)  FROM city WHERE   type=3 AND `code`   IN (

SELECT id FROM  city WHERE  type=2  AND  `code` IN (

SELECT  id FROM city WHERE type=1 AND `code`=1
)
)

OR `code` IN (
	110000,
	120000,
	310000,
	500000
)

2851

SELECT COUNT(*) FROM s_area WHERE  city_id   IN (
 
SELECT city_id FROM s_city WHERE  province_id IN (
SELECT p.province_id FROM s_province p
)
)

OR city_id IN (
	110000,
	120000,
	310000,
	500000
)

2851

You can

四个直辖市    市下只有区 

SELECT GROUP_CONCAT( DISTINCT `code`)   FROM city WHERE   type=3 AND `code` NOT IN (

SELECT id FROM city  WHERE  type=2 AND `code` IN (

SELECT  id FROM city WHERE type=1 AND `code`=1
)
)

110000,120000,310000,500000

 

SELECT COUNT(*) FROM sys_province;  -- 34 34
SELECT COUNT(*) FROM sys_city; -- 343 337
SELECT COUNT(*) FROM sys_area; -- 3144 2822

SELECT COUNT(*) FROM sys_area WHERE  city_id   IN (

SELECT city_id FROM sys_city WHERE  province_id IN (
SELECT p.province_id FROM sys_province p
)
)

 

UPDATE city SET city_type=0 WHERE city_father IN (
 
 SELECT a.city_id FROM 
(
   SELECT c.city_id  FROM city c WHERE c.city_type=-1

)a )

在MySQL中,写SQL语句的时候 ,可能会遇到You can't specify target table '表名' for update in FROM clause这样的错误,它的意思是说,不能先select出同一表中的某些值,再update这个表(在同一语句中),即不能依据某字段值做判断再来更新某字段的值。
 

案例

 

SELECT COUNT(*) FROM city WHERE city_father IN (
 
   SELECT c.city_id FROM city c WHERE c.city_type=-1
 

 )

 

省:34

市 343

区 3144

共 3521

 

INSERT INTO `sys_province`  SELECT * FROM sys_city

往表中插入一组结果集,只要 排列的 数据类型一样即可

主表 依次是 int var date    结果集的数据类必须也如此