1929년 1월 29일 경기도 평택군 팽성면(현재의 평택시 팽성읍) 노양리에서 출생하였다. 1948년 6월 해군 신병 제10기로 입대했으며, 1950년 한국전쟁이 일어난 당일, 해군 PC-701 백두산함 조타수로 대한해협 해전에 참전하였다.
전쟁이 발발하자 진해에 있던 PC-701호는 곧바로 출동하여, 해안 초계 활동을 하던 중 부산 동북방 30마일 해상에서 남하하던 북한군 무장 선박을 발견해 교전을 시작하였고, 4시간 가까운 교전 끝에 6월 26일 새벽 1시 38분 북한군 선박을 격침시켰다.
이 과정에서 김창학은 적탄을 맞아 복부에 중상을 입었음에도 PC-701호의 키를 놓지 않고 조타수로서 자신의 임무를 완수하여 첫 해전을 승리로 이끄는데 기여했다. 그러나 교전 때 입은 부상으로 6월 28일 사망하게 되었다.
1952년 12월 10일 을지무공훈장이 추서되었다. 2013년 6월 국가보훈처로부터 ‘이달의 6·25전쟁 영웅’에 선정되었고, 2013년 9월 6일에는 고인을 기린 유도탄 고속함 ‘김창학함’의 부대 창설식이 열리기도 하였다.