Hilfe:SQL-Abfragen

Aus Perrypedia
Wechseln zu: Navigation, Suche

Handbuch  →   Technische Fragen



SQL-Abfragen sind aus Performancegründen nicht aktiviert!

SQL-Abfragen sollten nur von Administratoren gemacht werden, die wissen, was sie damit anrichten können, besonders mit selbstgestrickten Abfragen. Das heißt aber nicht, daß von dem praktischen Instrument der SQL-Querys deswegen nicht Gebrauch gemacht werden sollte. Grundsätzlich sollten SQL-Abfragen nur in aufkommensschwachen Zeiten gemacht werden, etwa Nachts.

Die wichtigsten Abfragen sind hier zusammengestellt, sie sind auch daraufhin gestaltet worden, die Datenbank nicht über Gebühr zu belasten. Insbesondere Queries, die die Variable cur_text abfragen sind rechenintensiv.

Fehlende Artikel

Liste für Perrypedia:Gewünschte Artikel, aus dem Seitenquelltext kopieren und auf Perrypedia:Gewünschte Artikel einfügen:

SELECT brokenlinks.bl_to as Artikel, COUNT(DISTINCT brokenlinks.bl_from) as Linkanzahl 
  FROM cur, brokenlinks 
  WHERE cur.cur_id = brokenlinks.bl_from 
    AND cur.cur_namespace=0 
    AND LENGTH(cur.cur_text) > 200
  GROUP BY brokenlinks.bl_to HAVING Linkanzahl > 1 
  ORDER BY Linkanzahl DESC 
  LIMIT 150

Kurze Artikel

Liste für Perrypedia:Kurze Artikel, aus dem Seitenquelltext kopieren und auf Perrypedia:Kurze Artikel einfügen:

SELECT CONCAT('[[',cur_title,']]') as Artikel, CONCAT(LENGTH(cur_text),' Bytes') as Laenge, CONCAT(' ') as Bearbeitungshinweis 
  FROM cur
  WHERE cur_is_redirect=0
    AND cur_namespace=0
    AND LENGTH(cur_text)<150
    AND cur_text NOT LIKE '%Begriffsklaerung%'
    AND cur_text NOT LIKE '%Begriffsklärung%'
  ORDER BY LENGTH(cur_text) ASC
  LIMIT 150

Äußerst kurze Artikel, oft Vandalismusindikator

Abfrage liefert sehr kurze Artikel, oft ganz leere oder vandalisierte.

SELECT cur_title 
  FROM cur 
  WHERE cur_is_redirect=0 
    AND cur_namespace=0
    AND cur_is_redirect=0
    AND LENGTH(cur_text)<50
  ORDER BY LENGTH(cur_text) ASC
  LIMIT 100

Ministubs

Die Abfrage liefert relativ kurze Artkel ohne fettem Stichwort, meistens sind es keine ganzen Sätze oder Ein-Satz-Artikel. Oft auch Begriffsklärungsseiten ohne {{msg:Begriffsklaerung}}

SELECT cur_title 
  FROM cur 
  WHERE cur_is_redirect=0 
    AND cur_namespace=0
    AND cur_text NOT LIKE '%\'\'\'%'
    AND cur_title NOT LIKE '%Flagge%'
    AND LENGTH(cur_text)<180
  ORDER BY LENGTH(cur_text) ASC
  LIMIT 500

Artikel mit Selbstlinks

SELECT cur_title
  FROM cur,links
  WHERE cur_is_redirect=0
    AND cur_namespace=0
    AND l_from=cur_title
    AND l_to=cur_id
  GROUP BY cur_title ASC

Artikeln mit Rechtschreibfehlern

SELECT cur_title
  FROM cur
  WHERE cur_namespace=0
    AND cur_is_redirect=0
    AND (cur_text LIKE '%d. h.%' OR cur_text LIKE '%z. b.%')
    AND cur_text NOT LIKE '%schweizbezogen%'
  ORDER BY cur_title ASC
  LIMIT 250
SELECT cur_title
  FROM cur
  WHERE cur_namespace=0
    AND cur_is_redirect=0
    AND (cur_text LIKE '% .%' OR cur_text LIKE '% ,%' OR cur_text LIKE '% )%'  OR cur_text LIKE '%( %')
  ORDER BY cur_title ASC
  LIMIT 250

Unterseiten von Benutzern

SELECT cur_title
  FROM cur
  WHERE cur_is_redirect=0
    AND cur_namespace=2
    AND cur_title LIKE '%/%'
  ORDER BY cur_title ASC

Abfrage der Geschützten Seiten

SELECT '[[', cur_namespace as Namespace, cur_title as Artikel, ']]' 
    FROM cur 
    WHERE cur_restrictions = "sysop" 
    ORDER by cur_Namespace, cur_title ASC 
    LIMIT 800

Abfrage der Sysops, Developer, Bots

Abfrage liefert Benutzer mit besonderen Rechten, wahlweise 'sysop' mit 'developer' oder 'bot' ersetzen

SELECT CONCAT("*",user_name,"") 
   FROM user 
   WHERE user_rights = "sysop" 
   ORDER BY user_name



Handbuch  →   Technische Fragen


Meine Werkzeuge
Namensräume

Varianten
Aktionen
Navigation
Mitmachen
Formatvorlagen
Werkzeuge