본래 서형산군(西兄山郡)이었는데, 경덕왕 때 상성(商城)으로 이름을 바꾸어 경주에 합쳤다.
상성에는 경덕왕 때 이름이 바뀐 5개의 정(停)인 남기정(南畿停)ㆍ중기정(中畿停)ㆍ서기정(西畿停)ㆍ북기정(北畿停)ㆍ막야정(莫耶停) 등이 있었다. 정은 군사시설인 영(營)을 뜻한다. 이들 정의 위치를 밝힐 수는 없지만, 『대동여지도』상에 나타난 것으로 미루어 인출산(印出山)ㆍ선도산(仙桃山)ㆍ송화산(松花山) 등 상성의 북쪽과 서쪽ㆍ남쪽을 에워싸고 있는 산지에 있었던 것으로 추측된다.
상성이라는 지명이 뜻하는 바와 같이, 이곳은 경주의 서쪽을 흐르는 형산강의 지류인 서천(西川)을 건너 분지상에 있어 경주의 서쪽을 방어하는 군사상ㆍ교통상의 요지였다.
상성군이 있었던 당시는 이곳을 통하여 영천(永川)ㆍ하양(河陽)ㆍ자인(慈仁)으로 통할 수 있었으며, 서천을 따라 음즙화(音汁火)와 영일만으로 나갈 수 있었다. 지금은 법흥왕릉ㆍ김유신묘가 있는 경주국립공원 송화산 지구로 개발되었으며, 서악ㆍ충효ㆍ효현ㆍ광명동 지역으로 추정된다.