商,属艾侯国。
秦、汉属艾县。
自唐贞元十六年(800)至清末(1911),属分宁县、宁州、义宁州高乡三十七都、三十八都。
1912年后,属义宁县。
1914-1949年,属修水县杭口乡。
1950~1957年,隶属杭口区,分设上杭、杏港、棋盘、郊阳4乡。
1956年,合并为上杭、棋盘2乡。
1958年,属杭口公社。
1961年,分设上杭公社。
1968年,杭口公社并入上杭公社。
1972年,杭口公社分出。
1984年5月,撤社建上杭乡。