There will be blood is a great film, telling the tale of the moral corruption and downfall of a man as his wealth and power grows. Daniel Day-Lewis perfectly plays the character of Daniel Plainview, a lone, honest prospector who morphs into a violent, depressive sociopath as he cultivates oil in southern california, betraying and exploiting most everyone by the end. There is violence, but it takes three forms: two oil rig accidents, two murders, and two incidences of people slapping each other around. Most of this is pretty tame, and i liked the accidents in that they emphasize the dangers of working with heavy machinery and the swiftness and brutality in which death can be wrought with them. The murders could be disturbing for younger children, but most anyone older than 12 should be able to deal with it. There are the occasional uses of "lighter" swear words such as "ass", but these are put into context and in no way gratuitous. People drink, but not in any way or quantity that it is a problem.
The main reason why this film is not for children is because it is a slow narrative of a man's corruption, relying much on subtle dialogue and complex ideas to advance the plot. Most children are bored by it, and many teens are too, but any adult or mature teen should be able to enjoy this powerful masterpiece.
And of course, there's the milkshake drinking line. That sequence alone was worth the film for me.