User:Kate/SQL
From Wikipedia, the free encyclopedia
useful things...
find all pages linking to X but not Y or Z:
SELECT l1.l_from, cur_title, cur_namespace, cur_id FROM links AS l1, cur LEFT JOIN links AS l2 ON l1.l_from = l2.l_from AND l2.l_to in (Y, Z) WHERE l2.l_from IS NULL AND l1.l_to = X AND cur_id = l1.l_from AND cur_namespace = 0 AND cur_is_redirect = 0;
find pages linking to both X and Y:
SELECT cur_namespace, cur_title, cur_id, l1.l_from, l1.l_to, l2.l_from, l2.l_to FROM cur, links l1, links l2 WHERE l1.l_from = cur_id AND l2.l_from = cur_id AND l1.l_to = X AND l2.l_to = Y AND cur_namespace = 0;
find unreverted edits from an IP range or user:
SELECT cur_title FROM cur, recentchanges WHERE rc_cur_id = cur_id AND rc_namespace = 0 AND rc_timestamp > '20040911200000' AND rc_user_text LIKE '205.188.%' AND cur_user_text = rc_user_text;
Contents |
[edit] Hemanshu's query
mysql> select cur_title from cur where cur_namespace = 4; +----------------------------------------------------------------------------------+ | cur_title | +----------------------------------------------------------------------------------+ | | | !अनाथ_लेख | | All_pages_by_title | | All_system_messages | | Alphabetical_index | | Bureaucrat_log | | Community_Portal | | Copyrights | | Deletion_log | | How_does_one_edit_a_page | | IRC_चॅनल | | IRC_चेनल | | Long_articles | | Multilingual_coordination | | Recent_changes | | Recentchanges | | Request_for_adminship | | Requests_for_Adminship | | Requests_for_adminship | | Setting_up_your_browser_for_Indic_scripts | | Sources | | TODO_List | | Upload_log | | अक्सर_पूछे_जाने_वाले_सवाल | | अबाउट | | क्या_होता_है_विकिपीडिया_का_लेख | | गाँव_का_पम्प | | घोशना | | घोशनाएँ | | चुनाव | | धूल_का_डब्बा | | नया_लेख_कैसे_बनायें | | नीती_वाचनालय | | प्रबन्धक | | प्रयोगस्थल | | प्रयोगस्थल | | रेफ़रन्स_डेस्क | | लेख_कैसे_बदलें | | विकिपिडियन | | विकिपीडिया_के_दोस्त | | विकिपीडिया_के_बारे_में | | विभागों_की_सूची | | सहायता | | स्वागत,_नये_आनेवालों | | हटाने_के_मत | | हटाने_के_लिये_मत | | हमें_सम्पर्क_करें | +----------------------------------------------------------------------------------+ 47 rows in set (0.01 sec)
[edit] Mark's query
mysql> select old_user_text,old_namespace,old_title,count(*) as number from old where old_user_text like '202.67.%' group by old_namespace,old_title; +----------------+---------------+-------------------------------------------+--------+ | old_user_text | old_namespace | old_title | number | +----------------+---------------+-------------------------------------------+--------+ | 202.67.71.49 | 0 | 1904_in_science | 1 | | 202.67.238.250 | 0 | 29_(number) | 1 | | 202.67.238.250 | 0 | 666_(number) | 1 | | 202.67.71.49 | 0 | 70_(number) | 1 | | 202.67.71.28 | 0 | A._S._Byatt | 8 | | 202.67.65.166 | 0 | April_19 | 2 | | 202.67.101.89 | 0 | Arthur_Evans | 1 | | 202.67.64.154 | 0 | Australia | 2 | | 202.67.64.139 | 0 | Australia/Foreign_relations | 2 | | 202.67.121.206 | 0 | Australian_Rules_Football | 1 | | 202.67.238.250 | 0 | Caesar_Augustus | 1 | | 202.67.82.116 | 0 | Canon | 1 | | 202.67.64.154 | 0 | Carl_Auer_von_Welsbach | 1 | | 202.67.181.225 | 0 | Central_and_Western_district_of_Hong_Kong | 1 | | 202.67.71.49 | 0 | Chaperon | 1 | | 202.67.121.67 | 0 | Christianity | 1 | | 202.67.64.154 | 0 | Communications_in_Australia | 1 | | 202.67.118.247 | 0 | Debbie_Reynolds | 1 | | 202.67.64.155 | 0 | Deconstructionism | 1 | | 202.67.238.251 | 0 | Dog_Latin | 1 | | 202.67.181.225 | 0 | Eastern_District | 1 | | 202.67.64.154 | 0 | Erotica | 1 | | 202.67.238.250 | 0 | F-16_Fighting_Falcon | 1 | | 202.67.65.166 | 0 | Football_(soccer) | 4 | | 202.67.69.28 | 0 | Ford_Telstar | 1 | | 202.67.71.49 | 0 | GNU | 2 | | 202.67.92.20 | 0 | Geography_of_Brunei | 1 | | 202.67.64.155 | 0 | Glass | 1 | | 202.67.64.155 | 0 | Governor-General_of_Australia | 1 | | 202.67.238.250 | 0 | HKCEE | 2 | | 202.67.238.251 | 0 | Heathrow_Express | 1 | | 202.67.238.251 | 0 | IPX | 2 | | 202.67.238.251 | 0 | Internet_Protocol | 1 | | 202.67.64.156 | 0 | Iroquois | 1 | | 202.67.64.154 | 0 | Jack_Lang_(Australia) | 1 | | 202.67.238.251 | 0 | Japan_Airlines_Flight_123 | 1 | | 202.67.64.154 | 0 | John_Howard | 1 | | 202.67.64.154 | 0 | Kalamunda_National_Park | 1 | | 202.67.92.xxx | 0 | Kathryn_Janeway | 2 | | 202.67.118.247 | 0 | Kiss_Me,_Kate | 1 | | 202.67.238.250 | 0 | Larry_Wall | 1 | | 202.67.68.xxx | 0 | Law | 2 | | 202.67.121.206 | 0 | List_of_Australians | 1 | | 202.67.238.250 | 0 | List_of_programming_languages | 1 | | 202.67.238.250 | 0 | List_of_space_disasters | 1 | | 202.67.64.154 | 0 | Louis_XVI_of_France | 2 | | 202.67.91.18 | 0 | Marcus_Vipsanius_Agrippa | 1 | | 202.67.64.143 | 0 | Matthias_Jakob_Schleiden | 1 | | 202.67.238.250 | 0 | Menuet | 1 | | 202.67.64.155 | 0 | Mickey_Mouse | 2 | | 202.67.64.156 | 0 | Microcomputer | 1 | | 202.67.121.67 | 0 | Mormonism_and_Christianity | 5 | | 202.67.64.155 | 0 | Nimrod_Theatre_Company | 1 | | 202.67.64.154 | 0 | Nitroglycerin | 1 | | 202.67.97.43 | 0 | November_19 | 1 | | 202.67.64.155 | 0 | Nylon | 1 | | 202.67.238.250 | 0 | PS2 | 1 | | 202.67.82.116 | 0 | Parallel_port | 1 | | 202.67.238.250 | 0 | Perl | 1 | | 202.67.64.154 | 0 | Perth | 1 | | 202.67.111.176 | 0 | Perth,_Australia | 5 | | 202.67.64.141 | 0 | Perth_WA | 1 | | 202.67.238.251 | 0 | Politics_of_Taiwan | 1 | | 202.67.64.156 | 0 | Praseodymium | 1 | | 202.67.71.247 | 0 | Protectorate_of_Bohemia_and_Moravia | 1 | | 202.67.82.116 | 0 | Qantas | 1 | | 202.67.64.154 | 0 | Racial_policy_of_Nazi_Germany | 1 | | 202.67.101.73 | 0 | Rainbow | 1 | | 202.67.238.250 | 0 | Reflexology | 1 | | 202.67.71.49 | 0 | Seventy,_Preisthood_Office | 1 | | 202.67.238.250 | 0 | Square_number | 1 | | 202.67.118.247 | 0 | Talkie | 1 | | 202.67.71.49 | 0 | Tamworth,_New_South_Wales | 6 | | 202.67.84.235 | 0 | Terra_Australis | 1 | | 202.67.103.230 | 0 | Terrorism | 1 | | 202.67.181.225 | 0 | The_Good_News_Bible | 2 | | 202.67.64.155 | 0 | Timeline_of_communication_technology | 2 | | 202.67.64.155 | 0 | Timeline_of_computing_500_BC-1949 | 1 | | 202.67.238.251 | 0 | Transportation_in_Hong_Kong | 1 | | 202.67.64.155 | 0 | Triad | 1 | | 202.67.80.185 | 0 | United_States | 1 | | 202.67.238.251 | 0 | University_of_Hong_Kong | 2 | | 202.67.122.36 | 0 | Uru:_Ages_Beyond_Myst | 2 | | 202.67.181.225 | 0 | Wan_Chai_District | 1 | | 202.67.64.155 | 0 | Western_Australia | 2 | | 202.67.64.147 | 0 | White_Australia_policy | 1 | | 202.67.99.xxx | 0 | Wikipedia_chat | 1 | | 202.67.80.185 | 1 | Fag | 1 | | 202.67.65.166 | 1 | Go_(board_game) | 5 | | 202.67.64.141 | 1 | Human_sexual_behavior | 1 | | 202.67.68.137 | 1 | Microsoft | 1 | | 202.67.65.165 | 1 | Narcissism | 1 | | 202.67.64.141 | 1 | Nicole_Kidman | 1 | | 202.67.68.87 | 1 | Pi | 1 | | 202.67.97.43 | 1 | Prime_Minister_of_Australia | 1 | | 202.67.111.247 | 1 | Western_Australia | 1 | | 202.67.199.249 | 1 | Yuen_Long | 4 | | 202.67.238.250 | 2 | Kelvin | 1 | | 202.67.80.146 | 2 | Mark | 1 | | 202.67.64.141 | 3 | Runegirl | 1 | | 202.67.238.251 | 4 | Create_a_new_language_in_Wikipedia | 3 | | 202.67.64.155 | 4 | Votes_for_deletion_archive_May_2004 | 1 | +----------------+---------------+-------------------------------------------+--------+ 102 rows in set (23.76 sec)
[edit] Joy's query
mysql> select cur_namespace,cur_title,cur_id,l1.l_from,l1.l_to,l2.l_from,l2.l_to from cur, links l1, links l2 where l1.l_from=cur_Id and l2.l_from=cur_id and l1.l_to=392667 and l2.l_to = 390292 and cur_namespace=0; +---------------+--------------------------------------------------------+--------+--------+--------+--------+--------+ | cur_namespace | cur_title | cur_id | l_from | l_to | l_from | l_to | +---------------+--------------------------------------------------------+--------+--------+--------+--------+--------+ | 0 | Cannibalism | 5658 | 5658 | 392667 | 5658 | 390292 | | 0 | Exurb | 158557 | 158557 | 392667 | 158557 | 390292 | | 0 | Rocketdyne_Santa_Susana_Field_Laboratory_Contamination | 321219 | 321219 | 392667 | 321219 | 390292 | | 0 | List_of_Arab_localities_in_Palestine_1948 | 337611 | 337611 | 392667 | 337611 | 390292 | | 0 | Christians_in_Iran | 400285 | 400285 | 392667 | 400285 | 390292 | | 0 | Military_action_in_Lebanon | 447962 | 447962 | 392667 | 447962 | 390292 | | 0 | Israel_and_the_United_Nations | 479389 | 479389 | 392667 | 479389 | 390292 | | 0 | World_War_II_evacuation_and_expulsion | 501554 | 501554 | 392667 | 501554 | 390292 | | 0 | Centre_Against_Expulsions | 583450 | 583450 | 392667 | 583450 | 390292 | | 0 | Katerina_Mavromatis | 917264 | 917264 | 392667 | 917264 | 390292 | +---------------+--------------------------------------------------------+--------+--------+--------+--------+--------+ 10 rows in set (0.00 sec)
[edit] Links list with titles, ns0 only
You should delete the three tables on Bacon when you are finished with them. Queries weren't run in a transaction so there may be a few nulls due to records being added or moved in cur between the first and last queries.
create table james_kate_cur ( jc_id int(8) unsigned not null, jc_title varchar(255) binary not null default '', unique key id (jc_id) ) type=InnoDB; insert into james_kate_cur (jc_id, jc_title) select cur_id, cur_title from cur; -- Query OK, 965202 rows affected (58.83 sec) -- Records: 965202 Duplicates: 0 Warnings: 0 analyze table james_kate_cur; create table james_kate_ns ( jn_id int(8) unsigned not null, jn_ns tinyint(2) unsigned NOT NULL, unique key id (jn_id) ) type=InnoDB; insert into james_kate_ns (jn_id, jn_ns) select cur_id, cur_namespace from cur; -- Query OK, 965210 rows affected (13.51 sec) -- Records: 965210 Duplicates: 0 Warnings: 0 analyze table james_kate_ns; create table james_kate_links ( jl_from int(8) unsigned not null, jl_to int(8) unsigned not null, jl_from_title varchar(255) binary not null default '', jl_to_title varchar(255) binary not null default '', unique key from_to (jl_from, jl_to) ) type=InnoDB; insert into james_kate_links (jl_from, jl_to, jl_from_title, jl_to_title) select l_from, l_to, curfrom.jc_title, curto.jc_title from james_kate_ns as nsfrom, james_kate_ns as nsto, links, james_kate_cur as curfrom, james_kate_cur as curto where nsfrom.jn_id = l_from and nsfrom.jn_ns = 0 and nsto.jn_id = l_to and nsto.jn_ns = 0 and curfrom.jc_id = l_from and curto.jc_id = l_to ; -- Query OK, 8066058 rows affected (5 min 35.85 sec) -- Records: 8066058 Duplicates: 0 Warnings: 0