跳至內容

說明:數據庫查詢

維基百科,自由的百科全書

目前數據庫查詢功能已經禁止,但您可以請求一個Toolserver用戶為您進行數據庫查詢,詳見tswiki:Query service

下面是一些查詢數據庫的實例。

限定查詢數量

[編輯]

使用limit命令:

SELECT ... LIMIT 20

這個命令返回20條記錄。

SELECT ... LIMIT 100, 20

這個命令返回從101條記錄開始的20條記錄。

查詢新用戶

[編輯]
  • SELECT user_name, COUNT(*) FROM user, cur WHERE user_id=cur_user GROUP BY user_id ORDER BY user_id DESC LIMIT 20

這個語句返回最近創建的最多20個用戶的用戶名,並顯示這些用戶所編輯的條目數。這條語句顯示的編輯的條目數不包括被其他用戶修改的條目。

  • SELECT user_name, COUNT(*) FROM user, old WHERE user_id=old_user GROUP BY user_id ORDER BY user_id DESC LIMIT 20

這個語句返回被其他用戶修改過的條目數量。

查詢短條目

[編輯]
  • SELECT cur_title FROM cur WHERE cur_is_redirect=0 AND LENGTH(cur_text)<50 AND cur_text LIKE '%see%'

這個語句返回小於50個字符的所有頁面。

查詢不適當的鏈接

[編輯]
  • SELECT l_from,l_to,cb.cur_text AS rt,cb.cur_title AS ti FROM links,cur AS ca, cur AS cb WHERE ca.cur_is_redirect=1 AND cb.cur_is_redirect=1 AND l_to=cb.cur_id AND l_from=ca.cur_title LIMIT 250

這個語句返回有雙重重定向的頁面

  • SELECT cur_title FROM cur WHERE cur_text LIKE "%http://%.jpg%" AND cur_namespace=0

這個語句返回鏈接有外部的jpg圖像的條目。

  • 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 LIMIT 20

這個語句返回有自我鏈接的頁面。

  • SELECT cur_title FROM cur,brokenlinks WHERE bl_from=cur_id AND cur_is_redirect=1

這個語句返回重定向到不存在的頁面。

查詢有特殊標記的頁面

[編輯]
  • SELECT cur_title FROM cur WHERE cur_namespace=0 AND cur_is_redirect=0 AND cur_text NOT LIKE "%'''%" AND cur_text NOT LIKE "%<b>%" LIMIT 50

這個語句返回不包含粗體標記的頁面。

  • SELECT cur_title FROM cur WHERE cur_namespace=0 AND cur_is_redirect=0 AND cur_text NOT LIKE "%'''%" AND cur_text NOT LIKE "%<b>%" AND cur_text NOT LIKE "%disambiguation%" LIMIT 50

這個語句返回不包含粗體標記的頁面,其中不包括消含糊頁。

  • SELECT cur_title FROM cur WHERE cur_namespace=0 and cur_title like "%/%" and cur_is_redirect=0

這個語句返回含有「/」符號的頁面。

  • SELECT CONCAT("Wikipedia:",cur_title) AS cur_title FROM cur WHERE cur_namespace=4 AND cur_is_redirect=0 ORDER BY cur_title

這個語句返回標題含有Wikipedia:的條目。

查詢一些統計數據

[編輯]
  • SELECT COUNT(*) FROM cur WHERE LENGTH(cur_text)>1500 AND cur_namespace=0

這個語句返回字符個數大於1500的條目數量。

  • SELECT DISTINCT ipb_address, COUNT(*) AS times, MIN(ipb_reason) AS reason, user_name AS blocker, DATE_FORMAT(MIN(ipb_timestamp), '%b %e %Y %k:%i') AS date FROM ipblocks, user WHERE user_id=ipb_by GROUP BY ipb_address ORDER BY ipb_timestamp

這個語句返回被禁封的用戶。

  • SELECT CONCAT("*[[User:",user_name,"|",user_name,"]]") from user where user_rights != "" ORDER BY user_name LIMIT 100

這個語句返回站長和開發者的信息。

  • SELECT COUNT(rc_title) FROM recentchanges WHERE rc_timestamp LIKE '20030623%'

這個語句返回20030623這一天所作的所有改變的數量。

  • SELECT old_title, count(old_timestamp) AS count FROM old GROUP BY old_title ORDER BY count DESC

這個語句返回各個條目的編輯次數.

  • SELECT rc_title, count(rc_timestamp) AS count FROM recentchanges GROUP BY rc_title ORDER BY count DESC LIMIT 100

這個語句返回最近編輯過的條目的編輯次數。

  • SELECT rc_title, cur_counter FROM cur,recentchanges where rc_title like cur_title GROUP BY rc_title ORDER BY cur_counter DESC LIMIT 200

這個語句返回最近瀏覽次數最多的100條條目,用於首頁的熱點條目

  • SELECT cur_title,cur_is_new,cur_counter FROM cur where cur_is_new=1 GROUP BY cur_title ORDER BY cur_counter DESC LIMIT 100

這個語句返回按瀏覽次數排序的前100條新建條目。

  • SELECT cur_title,cur_is_new,cur_timestamp,cur_counter FROM cur where cur_is_new=1 GROUP BY cur_title ORDER BY cur_timestamp DESC LIMIT 100

這個語句返回按建立時間的前100條新建條目。

  • SELECT cur_id,cur_title,cur_timestamp,cur_counter FROM cur GROUP BY cur_title ORDER BY cur_id DESC LIMIT 100

這個語句返回按建立順序排列的前100條條目。

  • SELECT rc_title,rc_new,cur_counter FROM cur,recentchanges where rc_new=1 AND cur_title LIKE rc_title GROUP BY rc_title ORDER BY cur_counter DESC LIMIT 100

這個語句返回按瀏覽次數排序的最近新增條目。

  • SELECT rc_title,rc_new,count(rc_timestamp) as count FROM recentchanges where rc_new=1 GROUP BY rc_title ORDER BY count DESC LIMIT 100

這個語句返回按編輯次數排序的最近新增條目.

  • SELECT rc_title,rc_new,LENGTH(cur_text) as count FROM cur,recentchanges where rc_new=1 and rc_title like cur_title GROUP BY rc_title ORDER BY count DESC LIMIT 100

這個語句返回按文章長度排序的最近新增條目,用於首頁的新增條目統計。

  • SELECT cur_title,cur_counter FROM cur WHERE LENGTH(cur_text)=0 GROUP BY cur_title ORDER BY cur_counter DESC LIMIT 100

這個語句返回按瀏覽次數排序的文本長度為0的條目,用於首頁的待撰條目統計.

  • SELECT bl_to,count(cur_title) as count FROM cur,brokenlinks WHERE bl_from=cur_id AND cur_is_redirect=0 GROUP BY bl_to ORDER BY count DESC LIMIT 100

查詢待撰條目。

  • SELECT cur_title,count(cur_title) as count FROM cur, brokenlinks where cur_text LIKE "%Wikipedia:尋找並修理兔尾巴%" and bl_from=cur_id AND cur_is_redirect=0 GROUP BY cur_title ORDER BY count DESC LIMIT 100

查詢兔尾巴。

日誌

[編輯]
  • 日誌文件記錄了最近幾個月來的所有的查詢紀錄。

詳細的數據庫字段的描述請看SCHEMA.DOC