// Archives

SQL

Cette catégorie contient 14 billets

Convertir des champs BLOB en champs TEXT

Dans la série "J’abandonne SPIP", un très bon CMS soit dit en passant, passons à l’exploitation des colonnes "texte" de la table "articles". Vous remarquerez que les données sont enregistrées dans des champs de type BLOB. Il y a sûrement une bonne raison à ça, que je n’ai pas le temps de chercher. Étant pris par le temps pour faire ma conversion, j’ai besoin de (...) (Lire la suite…)

TRIM() sur une table MySQL

UPDATE pays SET pays = TRIM(pays) Et hop !! Nombre d'enregistrements affectés : 210 (traitement: 0.0140 sec.) (Lire la suite…)

Augmentation drastique des performances de MySQL avec votre meilleure amie : LA RAM !

Dans le my.cnf d’origine : key_buffer = 16M max_allowed_packet = 1M table_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M Tout X 20 : key_buffer = 320M max_allowed_packet = 20M table_cache = 1280 sort_buffer_size = 1024M net_buffer_length = 160K (...) (Lire la suite…)

TRIM() sur une table MySQL

UPDATE pays SET pays = TRIM(pays) Et hop !! Nombre d'enregistrements affectés : 210 (traitement: 0.0140 sec.) (Lire la suite…)

Sélectionner les enregistrements n’ayant pas de correspondance dans une autre table

SELECT fichiers.nom_original FROM fichiers LEFT OUTER JOIN fichier_filtre_valeurs ON fichiers.id = fichier_filtre_valeurs.fichier_id WHERE fichier_filtre_valeurs.fichier_id IS NULL Télécharger ou SELECT fichiers.nom_original FROM fichiers WHERE NOT EXISTS (...) (Lire la suite…)

MySQL et les logs *bin

Cet article concerne les fichiers de log binaires de MySQL. Gentoo Base System version 1.6.14 Linux xxxx.ovh.net 2.6.24.5-grsec-xxxx-grs-ipv4-64 #3 SMP Tue May 27 19:09:58 CEST 2008 x86_64 Intel(R) Xeon(R) CPU X3360 @ 2.83GHz GenuineIntel GNU/Linux xxxxxx # cd /var/run/mysqld/ xxxxxx mysqld # ls mysqld-bin.000001 mysqld-bin.000002 mysqld-bin.000003 (...) (Lire la suite…)

Remplacer des valeurs grâce aux commandes Update et Replace

Par exemple... UPDATE nom_table SET nom_champ = REPLACE(nom_champ, 'string a trouver', 'string à remplacer') (Lire la suite…)

Changer le charset de tous les champs d’un coup

Mise à jour du 30 août 2010 Un script qui fait tout d’un coup : $varname ; // changer le charset de la table $req2 = ’ALTER TABLE `’.$row->$varname.’` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci’ ; mysql_query($req2) ; // changer le charset des champs $req3 = ’ALTER TABLE `’.$row->$varname.’` CONVERT TO CHARACTER SET UTF8’ ; (...) (Lire la suite…)

Formater une date directement dans la reqûete

C’est quand même plus classe : DATE_FORMAT(date_creation, '%d/%m/%Y, %Hh%i:%s') AS date_creation_fr (Lire la suite…)

Trier une table d’e-mails en fonction du nom de domaine

Avec cette commande, vous obtiendrez la liste des adresses e-mails d’une table, ordonnée par noms de domaine (exemple : toto@aol.com, toto@cegetel.fr, toto@laposte.net, toto@yahoo.com) [1] : SELECT adresse, SUBSTRING (adresse, LOCATE ( '@', adresse) + 1, LENGTH ( adresse ) - LOCATE ( '@', adresse ) ) AS domaine FROM (...) (Lire la suite…)