link to Manual and taged help |
adds more complex query, plus reference to tools |
||
Line 1: | Line 1: | ||
Some database queries that you might want to use and bookmark in your database administration tool such as MySQL Query Browser. http://dev.mysql.com/downloads/gui-tools/5.0.html or SQLyog http://www.webyog.com/en/index.php | |||
Here is a query that will show you the pages in your wiki that contain a particular string. In this example, I wanted to find all pages that were using the 'Icon' extension parser extension magic word '#icon'. | Here is a query that will show you the pages in your wiki that contain a particular string. In this example, I wanted to find all pages that were using the 'Icon' extension parser extension magic word '#icon'. | ||
<source lang="sql"> | <source lang="sql"> | ||
SELECT DISTINCT page_title | SELECT DISTINCT | ||
FROM page | page_title | ||
RIGHT JOIN revision ON page_id = rev_page | FROM | ||
WHERE rev_text_id | page | ||
IN ( | RIGHT JOIN | ||
SELECT old_id | revision | ||
FROM | ON page_id = rev_page | ||
WHERE old_text LIKE '%#icon%' | WHERE | ||
) | rev_text_id | ||
IN ( | |||
SELECT | |||
old_id | |||
FROM | |||
text | |||
WHERE | |||
# old_text LIKE '%#icon%' | |||
old_text REGEXP('#icon') # regex is easier to deal with | |||
) | |||
</source> | </source> | ||
A more complex query that summarizes some information about an article | |||
(You supply the article title) | |||
<source lang="sql"> | |||
SELECT | |||
p.page_id 'id', | |||
p.page_title 'title', | |||
p.page_namespace 'namespace', | |||
t.old_id 'latest text id', | |||
t.old_text 'content', | |||
r.rev_id, | |||
r.rev_comment 'comment', | |||
r.rev_user, | |||
r.rev_user_text, | |||
r.rev_parent_id 'previous revision' | |||
FROM | |||
text t | |||
RIGHT JOIN | |||
revision r | |||
ON t.old_id = r.rev_text_id | |||
RIGHT JOIN | |||
page p | |||
ON r.rev_id = p.page_latest | |||
WHERE | |||
p.page_title = 'Main_Page' | |||
</source> | |||
== See Also == | == See Also == | ||
Line 20: | Line 56: | ||
[[Category:Development]] | [[Category:Development]] | ||
[[Category:Help]] | [[Category:Help]] | ||
[[Category:Tools]] |
Revision as of 09:48, 4 December 2008
Some database queries that you might want to use and bookmark in your database administration tool such as MySQL Query Browser. http://dev.mysql.com/downloads/gui-tools/5.0.html or SQLyog http://www.webyog.com/en/index.php
Here is a query that will show you the pages in your wiki that contain a particular string. In this example, I wanted to find all pages that were using the 'Icon' extension parser extension magic word '#icon'.
SELECT DISTINCT
page_title
FROM
page
RIGHT JOIN
revision
ON page_id = rev_page
WHERE
rev_text_id
IN (
SELECT
old_id
FROM
text
WHERE
# old_text LIKE '%#icon%'
old_text REGEXP('#icon') # regex is easier to deal with
)
A more complex query that summarizes some information about an article (You supply the article title)
SELECT
p.page_id 'id',
p.page_title 'title',
p.page_namespace 'namespace',
t.old_id 'latest text id',
t.old_text 'content',
r.rev_id,
r.rev_comment 'comment',
r.rev_user,
r.rev_user_text,
r.rev_parent_id 'previous revision'
FROM
text t
RIGHT JOIN
revision r
ON t.old_id = r.rev_text_id
RIGHT JOIN
page p
ON r.rev_id = p.page_latest
WHERE
p.page_title = 'Main_Page'