The incident took place yesterday at the Walmart shopping mall on Bao'an Avenue and the scene was "horribly bloody," the state-run Nandu Daily quoted witnesses as saying.
The suspect, identified as Jiang Shengjun, a man in his 30s from Chongqing, has been arrested.
The injured have been sent to hospitals, according to Shenzhen police, the Global Times reported.
Attacks by disgruntled people targeting civilians and school children have taken places in number of Chinese cities in recent times.