Discussion Wikipédia:Requêtes SQL

Un article de Wikipédia, l'encyclopédie libre.

Pour les amateurs de requete SQL: Comment remplacer une chaine (ex: " tres ") par une autre (ex: " très ") dans tout les articles ? Proposition fausse, juste pour faire avancer le shmilbik:

UPDATE LOW_PRIORITY cur
SET cur_text = REPLACE( cur_text, '% tres %', '% très %')
WHERE cur_text
LIKE '% tres %'; 

Qui dit mieux ? Aoineko 28 avr 2003 à 16:28 (CEST)


Je vais chercher
Par contre interdiction d'essayer de faire tomber le serveur, y a que moi qui peut faire ça !!
Ryo 28 avr 2003 à 16:52 (CEST)
Bon, ayant un peu cherché, je propose (mais attention, ça va ramer):
update low_priority cur
set cur_text = replace( cur_text, ' tres ', ' très ' )
where cur_text like '% tres %'
pas testé, mais ça doit le faire, non ? (par contre JE NE TESTE PAS sur Wikipédia :-)
Ryo 28 avr 2003 à 17:01 (CEST)
Je vois pas trop la difference avec ma proposition !? Aoineko
Regarde le REPLACE, les textes n'ont pas les '%' (' tres ' au lieu de '% tres %')
Ryo 28 avr 2003 à 17:13 (CEST)
Oups! Une erreure de copier/coller :oD Merci! Aoineko 28 avr 2003 à 17:30 (CEST)

Gros gain de performence a mon avis :

UPDATE LOW_PRIORITY cur
SET cur_text = REPLACE( cur_text, ' tres ', ' très ')
WHERE cur_namespace=0
AND cur_is_redirect=0 
AND cur_text LIKE '% tres %' ;

Pour tester que les article de tpye ":nom" qui ne sont pas des redirections. on pourrai aussi ajouter un LIMITE 100 pour les faire que par paquet de 100. Aoineko 29 avr 2003 à 07:09 (CEST)

J'espere que MySQL cesse une recherche des que l'une des conditions est fausse et qu'il les traite bien dans l'ordre... :-/ Aoineko 29 avr 2003 à 07:13 (CEST)


Hello, le wiki anglophone propose de pouvoir faire un dump de la base par exemple pour pouvoir travailler lorsqu'on est loin du net ou autre. Est ce que c'est prevu de pouvoir faire un tel dump du wiki francophone?? Greatpatton 14 jun 2003 ・21:45 (CEST)

Est-ce que tu cherches ça? http://download.wikipedia.org/ Med 14 jun 2003 ・21:51 (CEST)
Exactement merci j'avais pas vu le link Greatpatton 14 jun 2003 ・21:59 (CEST)

hello! please place a link to the german version of Wikipédia:Requêtes SQL aswell. thx! (german: Wikipedia:Datenbank-Abfragen) -- pit 24 jun 2003 à 18:52 (CEST)

thanks Anthere!!! -- pit 24 jun 2003 à 21:41 (CEST)

Sommaire

[modifier] Pages au hasard

Voici le methode actuel de selection de la page au hasard:
               SELECT cur_id,cur_title
               FROM cur USE INDEX (cur_random)
               WHERE cur_namespace=0 AND cur_is_redirect=0
               AND cur_random>RAND()
               ORDER BY cur_random
               LIMIT 1
cur_random contien un nombre au hasard entre 0 et 1; il est randomisé (par la function RAND()) á création du page et rerandomisé immédiatement après selection comme page au hasard. Naturellement, la randomisation de la function RAND() peut être une source des problèmes. --Brion 10:19 fév 19, 2003 (CET)
Tiens, j'aurais pas fait comme ca...
Par exemple, ici j'aurais plutot fait :
               SELECT cur_id,cur_title
               FROM cur
               WHERE cur_namespace=0 AND cur_is_redirect=0
               ORDER BY RAND()
               LIMIT 1
Ce qui est légal en MySQL et qui évite de gérer un champs cur_random en plus. Mais peut-être est-ce plus efficace tel que c'est fait actuellement...
--AGiss 16:17 fév 19, 2003 (CET)


C'est legal, oui, mais tres tres lente avec dizaines ou centaines de milliers des articles. Il cree un table provisoire de tous les articles a l'espace de nommage articles et pas-redirections, et puis les mets en ordre hasard et prend le premier article. o_O Avec un champs deja indexe, ca marche beaucoup plus vite. --Brion 20:49 fév 19, 2003 (CET)

[modifier] Escuelle

Note : le texte ci-dessous a été déplacé depuis le Bistro de Wikipédia. --Pontauxchats Ier | 13 jun 2004 à 11:04 (CEST)

Quant est-ce qu'on pourra de nouveau faire des recherches escuelliennes ? j'espérais que ça reviendrait avec le monobook, mais pas du tout. qq'un a des news ? --Pontauxchats Ier |

Tu veux dire des niouzes, je suppose ? FvdP (disc.)
Qu'est-ce que ça veut dire recherche escuellienne ? Roby 11 jun 2004 à 23:25 (CEST)
Ca signifie recherche dans la base de données (escuelienne = SQL = Structured Query Language = requêtes sur une base de données). Cœur
Au hasard, SQL. ℓisllk 11 jun 2004 à 23:45 (CEST)

Vu l'état des serveurs, ce n'est pas dans les projets à court terme non plus. >:o> Yann 12 jun 2004 à 00:48 (CEST)

Le SQL ne reviendra pas sur les serveurs wikipédia. Celà peut très facilement engendrer des surcharges avec des utilisateurs n'ayant aucune idée de ce qui se passe derrière. Par contre il est toujours possible d'ajouter de nouvelles pages spéciales. Ashar Voultoiz|@ 12 jun 2004 à 07:01 (CEST)

Merci de ne pas me laisser vieillir (trop) bête. Roby 12 jun 2004 à 19:45 (CEST)

[modifier] Protection

Pourquoi cette page est-elle protégée ?? R 7 mar 2005 à 09:20 (CET)

Bon, tant pis, je travaille sur Wikipédia:Requêtes SQL/temp. R 18 mar 2005 à 17:35 (CET)


esp2008 quelqu'un sait pourquoi la page Wikipédia:Requêtes SQL est protégée ?
* Solveig has quit ("J'essaie de vivre")
esp2008 http://stats.apinc.org/wiki-pedia.org/usage_200505.html#TOPSITES
esp2008 5 personnes par jour qui se plante d'url
esp2008 je vais vendre des cdrom d'encarta sur la page :)
Alvaro esp2008, pyetre parce que les requetes sql ne sont plus auyorisées ; mais faudrait la déprotéger, ça peut aussi servir à ceux qui installent mediawiki xhez eux
Alvaro je recopie ça dans la page de discuss
esp2008 et pour datapedia :)
Alvaro et je déprotège
  • copie depuis irc. Al ☮
  • vu R, esp2008, moi-même, je déprotège Al ☮ 19 mai 2005 à 17:33 (CEST)

[modifier] Source sql

Marche pas : j'obtiens

ERROR 1005 can't create table
ERROR 1146 table wikipedia cur doesn't exist

Léonard 21 août 2005 à 12:36 (CEST)

En revanche, cela fonctionne avec d'autres bases que celle de wikipédia. Léonard 21 août 2005 à 13:14 (CEST)