衞子夫為漢武帝生了四個孩子,他們分別是:戾太子劉據、衞長公主、諸邑公主、石邑公主。漢武帝當太子的時候就開始娶妃,自繼位以前妃子就已經很多了,但是卻一直沒有子嗣。
直到漢武帝繼位一年多以後,姐姐平陽公主效仿姑姑館陶公主挑選良家女子進獻於漢武帝,這些被挑選出來的女子都是平陽公主認為很出色的,但是漢武帝卻一個都沒有看中。
不過漢武帝在宴席上,一眼看中了歌女衞子夫,就這樣衞子夫進宮做了漢武帝的妃子。漢武帝一直都很寵幸衞子夫,衞子夫先是為漢武帝上下了三個女兒。
直到公元前128年,衞子夫又為漢武帝生下了一個兒子,漢武帝給他取名叫劉據。當時漢武帝二十九歲,登基已經十三年。後來陳皇后被廢以後,漢武帝便封衞子夫為皇后,過了六年劉據被封為太子,深得漢武帝的喜歡。