drupal:databank
Table of Contents
databank
context
dit document beschrijft de databank in Drupal
tabellen
- node: unieke node_id (nid)
- node_field_data: metadata over node (aanmaak-, wijzigingsdatum, …)
- node_body: inhoud
- node_revison: nid, vid
- node_field_revision: metadata over node (aanmaakdatum, userid)
- node_revision_body: inhoud revisie
- users: overzicht gebruikers
- users_field_data: detail over gebruikers (naam, email, userid, …)
- node_field_<naam>: velden die je gebruikt binnen je node.
elke node heeft data in onderstaande tabellen
- node: nid, type (content type)
- node_body: eigenlijke inhoud van de node
- node_field_data: metadata over node: oa titel
- node_revision: info over revisies
- node_revision_body: inhoud van elke revisie
- node_field_revision: metadata over revisies
queries
tijdsbepaling
ahv volgende functies:
- FROM_UNIXTIME(<timestamp>):unixepoch in human-readable
- NOW(): huidige datum
SELECT NOW()
- INTERVAL xx HOUR/DAY/MONTH/YEAR: xx uur/dagen/maanden/jaar seconden vroeger (-) of later (+)
SELECT NOW() - INTERVAL 1 HOUR
: 1 uur geleden - YEAR(<timestamp>): vis het jaar uit de timestamp
SELECT YEAR(FROM_UNIXTIME(created)) FROM l7gh_node_field_data
- MONTH(<timestamp>): vis de maand uit de timestamp
SELECT MONTH(FROM_UNIXTIME(created)) FROM l7gh_node_field_data
- DAY(<timestamp>): vis de dag uit de timestamp
SELECT DAY(FROM_UNIXTIME(created)) FROM l7gh_node_field_data
alle entries op de site
SELECT f.title,FROM_UNIXTIME(f.created) AS "Time created",FROM_UNIXTIME(f.changed) AS "Time modified", f.type,tax.name AS "Plaats" FROM l7gh_node_field_data f LEFT JOIN l7gh_node__field_plaats pl ON f.nid = pl.entity_id LEFT JOIN l7gh_taxonomy_term_field_data tax ON pl.field_plaats_target_id = tax.tid ORDER BY FROM_UNIXTIME(f.changed) ASC;
alle entries die de laatste week gewijzigd zijn
SELECT title,nid,FROM_UNIXTIME(created) AS "Time created",FROM_UNIXTIME(changed) AS "Time Last modified" FROM l7gh_node_field_data WHERE FROM_UNIXTIME(changed) > NOW() - INTERVAL 1 WEEK ORDER BY FROM_UNIXTIME(changed) DESC;
overzicht (in aantal) per categorie
SELECT COUNT(title) AS Aantal,type FROM l7gh_node_field_data GROUP BY type ORDER BY Aantal DESC;
overzicht (in aantal) per jaar
SELECT COUNT(title) AS "TOTAL ENTRIES",YEAR(FROM_UNIXTIME(created)) AS "YEAR" FROM l7gh_node_field_data GROUP BY YEAR(FROM_UNIXTIME(created)) ORDER BY YEAR(FROM_UNIXTIME(created)) DESC;
overzicht (in aantal dagboekentries) per maand
SELECT COUNT(title) AS "TOTAL ENTRIES",MONTH(FROM_UNIXTIME(created)) AS "MONTH" FROM l7gh_node_field_data WHERE type = 'dagboek' GROUP BY MONTH(FROM_UNIXTIME(created)) ORDER BY COUNT(title) DESC;
overzicht nodes met aantal revisies
SELECT nid AS "Node ID",title,COUNT(vid) AS "Aantal revisies",FROM_UNIXTIME(created),FROM_UNIXTIME(changed) FROM l7gh_node_field_revision GROUP BY nid;
alle dagboekbladen die al werden afgeprint
SELECT title AS "Entries in schrift" FROM l7gh_node_field_data INNER JOIN l7gh_node__field_geprint_ ON l7gh_node_field_data.nid = l7gh_node__field_geprint_.entity_id WHERE field_geprint__value = 1 and type = 'dagboek';
alle dagboekbladen die nog niet werden afgeprint
SELECT title AS "Entries in schrift" FROM l7gh_node_field_data LEFT JOIN l7gh_node__field_geprint_ ON l7gh_node_field_data.nid = entity_id WHERE field_geprint__value = 0 AND type = 'dagboek';
idem maar de dit keer met de node ID
SELECT nid AS "Node ID" FROM l7gh_node_field_data LEFT JOIN l7gh_node__field_geprint_ ON l7gh_node_field_data.nid = entity_id WHERE field_geprint__value IS NULL AND type = 'dagboek';
voor een groep nodes een entry in een tabel aanmaken
INSERT INTO l7gh_node__field_geprint_ (entity_id,field_geprint__value) SELECT a.nid,p.field_geprint__value FROM l7gh_node_field_data a LEFT JOIN l7gh_node__field_geprint_ p ON a.nid = p.entity_id WHERE field_geprint__value IS NULL AND type = 'dagboek';
alle nodes van type verslag
SELECT f.title, FROM_UNIXTIME(f.created), b.body_value FROM `l7gh_node__body` b INNER JOIN l7gh_node_field_data f ON f.nid = b.entity_id WHERE b.bundle = 'verslag'
meer info
voeg hier linken toe naar verdere uitleg
drupal/databank.txt · Last modified: by admin