====== databank======
[[drupal:drupal|{{ :drupal:icon.jpg?120|}}]]
===== 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_: 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():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(): vis het jaar uit de timestamp\\ ''SELECT YEAR(FROM_UNIXTIME(created)) FROM l7gh_node_field_data ''
* MONTH(): vis de maand uit de timestamp\\ ''SELECT MONTH(FROM_UNIXTIME(created)) FROM l7gh_node_field_data''
* DAY(): 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
{{tag>drupal}}