At least 10 other people were wounded, including two children at an elementary school near the small town of Corning, about 100 miles north of Sacramento, where the suspect was slain, according to police and local media.
"Deeply saddened to hear of the shooting in Northern California, the loss of life, including innocent children," Vice President Mike Pence said on Twitter. "We commend the effort of courageous law enforcement. We'll continue to monitor the situation & provide federal support, as we pray for comfort & healing for all impacted."
Shots were fired at Rancho Tehama Elementary school and some people were injured there but no students or staff members died, Corning Union Elementary School District administrative assistant Jeanine Quist told Reuters.
Tehama County Assistant Sheriff Phil Johnston said at a press conference that the shooter, who was not identified by law enforcement, had been armed with a semi-automatic rifle and two handguns.
Johnston did not give a motive for the shooting rampage. The local Redding Record Searchlight newspaper reported that it began when the gunman opened fire at a home and some six other locations shortly after 8 a.m. Pacific Time (11 a.m. ET).
A parent, Coy Ferreira, said he was dropping off his daughter at the elementary school when he heard gunfire.
"One of the teachers came running out of the building and told us to all run inside because there was a shooter coming," Ferreira told Redding, California, television station KRCR.
"So we all hurried up and ran and told the students to get in the classrooms."
Ferreira said he heard gunfire for over 20 minutes and that a student in the room was struck.
Area resident Brian Flint told local media his neighbour was the shooter and had stolen his truck.
Enloe Medical Center in Chico, some 40 miles southeast of the school, received five patients, three of whom were treated and released, hospital spokeswoman Natali Munoz-Moore said. She provided no details on their conditions.
St. Elizabeth Community Hospital in the community of Red Bluff received two patients, including one who was stabilized and transferred to another facility, spokeswoman Amanda Harter said.
Mercy Medical Center in Redding received three patients, including one who also was transferred elsewhere, Harter said.
(Reporting by Alex Dobuzinskis in Los Angeles and Peter Szekely and Daniel Wallis in New York; writing by Dan Whitcomb; editing by Frances Kerry and Phil Berlowitz)
(Except for the headline, this story has not been edited by NDTV staff and is published from a syndicated feed.)