City police chief Gregory Mullen described the attack at the Emanuel African Methodist Episcopal Church as a “hate crime”.
Police later issued surveillance images of the suspect – a white male in his 20s – and a vehicle.
The church’s pastor, state Senator Clementa Pinckney, is reported to be among the dead.
A prayer meeting was going on at the time of the shooting at about 21:00 local time on Wednesday (01:00 GMT Thursday) at the church in Calhoun Street.
Police issued an initial description of the suspect as white, about 21, slender build and clean shaven and wearing a grey sweatshirt, blue jeans and Timberland boots.
They later said he was seen driving away from the church in a black four-door saloon car.
Speaking at a news briefing, Mr Mullen said: “There were eight deceased individuals inside of the church. Two individuals were transported to [the hospital]. One of them has died.
“It is unfathomable that somebody in today’s society would walk into a church when people are having a prayer meeting and take their lives,” Mr Mullen said.
A woman who survived the shooting told her family the gunman said he was letting her live so she could report what happened, the Charleston Post and Courier reported.
She said the gunman had sat in the church before standing and opening fire, according to an official from the National Association for the Advancement of Colored People (NAACP).
Charleston Mayor Joe Riley described the shooting as “the most unspeakable” tragedy.
South Carolina Senator Tim Scott tweeted: “My heart is breaking for Charleston and South Carolina tonight.”