SQL tipy a triky
» Posledná aktualizácia: 11-01-2011 14:06:10, autor: Matej Kolesár
Nasledujúce užitočné mySQL príkazy môžete spúšťať prostredníctvom
PHP aplikácie phpMyAdmin (výbava každého bežného hostingu), kde
etomite
je názov databázy v ktorej sú jednotlivé tabuľky a
etomite_
je predpona tabuliek Etomite.
Dokumenty
Celkový počet dokumentov (všetko dokopy):
1: SELECT count(id) FROM etomite.etomite_site_content;
2: SELECT count(id), contentType FROM etomite.etomite_site_content WHERE (type = 'reference');
Počet priamo publikovaných dokumentov:
1: SELECT published, pub_date FROM etomite.etomite_site_content WHERE (published = 1 AND pub_date = 0);
Počet zobrazení dokumentu, kde 1
je ID dokumentu:
1: SELECT count(visitor) FROM etomite.etomite_log_access WHERE (document = '1');
Príkaz na neukladanie všetkých dokumentov do vyrovnávacieho zásobníka
(cache):
1: UPDATE etomite_site_content SET cacheable = 1 WHERE cacheable = 0;
Šablóny
Výpis všetkých šablón a dokumentov, ktoré ich používajú:
1: SELECT
2: etomite_site_templates.id,
3: etomite_site_templates.templatename,
4: etomite_site_content.id,
5: etomite_site_content.pagetitle
6: FROM
7: etomite.etomite_site_templates
8: INNER JOIN etomite.etomite_site_content
9: ON (etomite_site_templates.id = etomite_site_content.template)
10: ORDER BY etomite_site_templates.id ASC;
Výpis dokumentov, ktoré používajú konkrétnu šablónu, kde 1 je ID
šablóny:
1: SELECT
2: etomite_site_content.id,
3: etomite_site_content.pagetitle
4: FROM
5: etomite.etomite_site_templates
6: INNER JOIN etomite.etomite_site_content
7: ON (etomite_site_templates.id = etomite_site_content.template)
8: WHERE (etomite_site_templates.id = 1);
Zmena šablóny pre dokumenty naraz (kde 2 je ID pôvodnej šablóny a 5 je
ID novej šablóny):
1: UPDATE
2: etomite_site_content
3: SET
4: etomite_site_content.template = 5
5: WHERE etomite_site_content.template = 2;
Používateľia
Výpis zoznamu používateľov a dokumentov ktoré vytvorili:
1: SELECT
2: etomite_manager_users.id,
3: etomite_manager_users.username,
4: etomite_site_content.id,
5: etomite_site_content.pagetitle
6: FROM
7: etomite.etomite_manager_users
8: INNER JOIN etomite.etomite_site_content
9: ON (etomite_manager_users.id = etomite_site_content.createdby);
Zoznam blokovaných používateľov (napr. vplyvom zadania nesprávneho
hesla):
1: SELECT
2: etomite_manager_users.username
3: FROM
4: etomite.etomite_manager_users
5: INNER JOIN etomite.etomite_user_attributes
6: ON (etomite_manager_users.id = etomite_user_attributes.id)
7: WHERE (etomite_manager_users.username = 'admin'
8: AND etomite_user_attributes.blocked = 1);
Odblokovanie používateľa, kde admin
je meno
používateľa:
1: UPDATE
2: etomite_user_attributes
3: INNER JOIN etomite.etomite_manager_users
4: ON (etomite_manager_users.id = etomite_user_attributes.id)
5: SET
6: blocked = 0
7: WHERE (etomite_manager_users.username = 'admin');
Kľučové slová
Výpis všetkých kľúčových slov a ktoré dokumenty ich používajú (id
→ keyword, id → pagetitle):
1: SELECT
2: etomite_site_keywords.id,
3: etomite_site_keywords.keyword,
4: etomite_site_content.id,
5: etomite_site_content.pagetitle
6: FROM
7: etomite.etomite_site_keywords
8: INNER JOIN etomite.etomite_keyword_xref
9: ON (etomite_site_keywords.id = etomite_keyword_xref.keyword_id)
10: INNER JOIN etomite.etomite_site_content
11: ON (etomite_keyword_xref.content_id = etomite_site_content.id)
12: ORDER BY etomite_site_keywords.id ASC;
Výpis zoznamu dokumentov, ktoré obsahujú špecifické kľúčové slovo,
kde Cms je názov hľadaného kľúčového slova:
1: SELECT
2: etomite_site_keywords.keyword,
3: etomite_site_content.id,
4: etomite_site_content.pagetitle
5: FROM
6: etomite.etomite_site_keywords
7: INNER JOIN etomite.etomite_keyword_xref
8: ON (etomite_site_keywords.id = etomite_keyword_xref.keyword_id)
9: INNER JOIN etomite.etomite_site_content
10: ON (etomite_keyword_xref.content_id = etomite_site_content.id)
11: WHERE (etomite_site_keywords.keyword = 'Cms');