战国时,这里是楚国贵族黄歇的封地。三国时,东吴孙权在这里建起了水师基地,那时这里还是一个无名的小村落。到了唐朝,当时的吴郡(今苏州)太守赵居贞上奏,割昆山南境、嘉兴东境和海盐北境设置华亭县(即今上海松江区)。那个无名小村落也有了华亭海的名称。这应是上海最早的名称。
上海夜景到了宋朝,这里的经济得到发展,成了国内外贸易的集散地。南宋咸淳元年即公元1265年,开始在这里建镇。
关于上海名称的由来有两种说法,一种说法是取自《弘治上海志》中“其地居海上之洋”这句话;另一种说法认为,那时,吴淞江,即今苏州河,南岸有两条支流,一条称上海浦,一条称下海浦。建镇的治所在上海浦附近,故取镇名为上海镇。但是无论哪一种说法,有一点可以肯定的是,宋代开始设置上海镇,而且上海之名也最早出现在北宋郏亶之的《水利书》中。
古时,上海地区的渔民发明了一种竹编的捕鱼工具“扈”,当时还没有上海这一地名,因此,这一带被称为“沪渎”,故上海简称“沪”。春秋战国时上海是楚春申君黄歇封邑的一部分,故上海别称“申”。
元朝元世祖至元二十九年即1292 年,设上海县。1927年改为上海特别市。1949年中华人民共和国成立后改为中央直辖市。