In the node table, you'll find everything except the actual body. Where can I find this body text? I'm assuming it's being stored as a blob somewhere.


I don't have a running drupal installation here, but I asked myself this very question a couple of weeks ago, and it took time to find the answer.

If I remember correctly, the body of the node is stored in the table that is used to keep the "revisions" of the node. I am not sure what its name is, but it should be something like "node_revision" or "node_revisions."

  • 4
    correct. it's node_revisions.body
    – Rosarch
    Aug 16 '09 at 15:00
  • Just to add... the purpose of separating the body of the node is to allow the devs to create as many different content types as they want and have just one table containing all the node_id's. Revisions, which include the body, are on separate table(s).
    – Randell
    Aug 16 '09 at 15:02
  • The webdevgeeks.com link is broken. Nov 27 '11 at 23:49
  • For which version of drupal is this answer correct?
    – claws
    Feb 11 '14 at 18:15
  • 1
    @claws, this answer is for Drupal 6, for Drupal 7 the body field is stored into field_data_body table.
    – Yogesh
    Jun 16 '17 at 6:49

In Drupal 7 the body has been moved to the field_data_body table.

  • 2
    In my Drupal 7 site, I can see the bodies of my contents in tables "field_data_body" and "field_revision_body". Nov 27 '11 at 23:59
  • This is true only if you have content types that include a body field (same as any other non-title field). Polls, for example, don't have one. Mar 3 '12 at 18:45
  • 1
    Not exactly correct. The body text is stored in the value column of a field called body. This by default is stored in the body_value column of the field_data_body table. However, nothing stops you from using, say MongoDB to store the data in the body field (almost nothing: the standard profile creates it in SQL, so you better use minimal if you want to use MongoDB to save a painful migration later).
    – user49
    Dec 4 '12 at 18:52
  • What is the association between a node and field_data_body? The latter has no nid or vid column (at least not with that name) Dec 18 '13 at 15:30
  • There is a colume entity_is in field_data_body that is reference of nid from node table Jul 22 '16 at 1:43

It's the "node_revisions" table, in Drupal 5.


In Drupal 6, content of the node's body is saved in 'node_revisions' table under 'body' field.


In Drupal 7, content of the node's body is saved in 'field_data_body' table under 'body_value' field. In case content revisions are there then it also saves the data in 'field_revision_body' table under 'body_value' field.



In Drupal 8, content of the node's body is saved in 'node__body' table under 'body_value' field. In case content revisions are there then it also saves the data in 'node_revision__body' table under 'body_value' field.




Your content types body content is saved in field_data_body and field_revision_body tables.


This is the SQL you would use (MySQL client):

SELECT node.nid,node.vid,type,node.title, body 
FROM node join node_revisions ON node.nid = node_revisions.nid
WHERE node.title = 'some title';

So yes, the answer is the "node_revisions" table in Drupal 6.


In Drupal 7, the node body is found in field_data_body and field_revision_body. New fields added using CCK (which is added to core in Drupal 7) are found in field_config and field_config_instance. In Drupal6, the node body is stored at node_revisions and fields created are saved at content_node_field and content_node_field_instance.


I have created few new content types, and for them, the body or the description goes to column field_description_value of table content_type_<type_name> where type_name is the new content type's name.


In Drupal 7 its in field_revision_body .. if you describe that table you will see theres a col for Body summary and its a longtext type.

Not the answer you're looking for? Browse other questions tagged or ask your own question.