Skip to content

Instantly share code, notes, and snippets.

@hugsbrugs
Last active January 22, 2016 10:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hugsbrugs/19a9db4ba3f3e1f0350d to your computer and use it in GitHub Desktop.
Save hugsbrugs/19a9db4ba3f3e1f0350d to your computer and use it in GitHub Desktop.
MySQL Common Request Syntax
Trouver les doublons dans une table :
SELECT app_id, ville_cp FROM appellation_zone GROUP BY app_id, ville_cp HAVING COUNT(*) > 1;
Puis créer un index Unique avec les 2 colonnes pour que ça ne se reproduise pas !
Réindexer une table (si l'on veut les id commencent à 1 ou que l'on veut des id qui se suivent sans 'trous')
# 1. Copier table
# 2. Supprimer clé primaire auto incrément
ALTER TABLE test DROP COLUMN id)
# 3. Recréer la clé primaire auto incrément
ALTER TABLE table_name ADD NewIdn INT NOT NULL AUTO_INCREMENT key_name
# FIND MISSING VALUE IN ANOTHER TABLE (foreign key constraint for instance ...)
SELECT insee_id from geo_commune WHERE insee_id not in(SELECT commune_id FROM elu_maires);
# REPLACE 0 BY null VALUES
UPDATE table_name SET `column_name`=null WHERE `column_name`=0;
# REPLACE DATETIME BASED ON DATE
UPDATE table_name SET `date_ajout`='2016-01-15' WHERE DATE(`date_ajout`)='2016-01-16'
# UPDATE A COLUMN BASED ON ANOTHER TABLE
UPDATE geo_commune INNER JOIN geo_epci ON geo_commune.insee_id = geo_epci.code_com SET geo_commune.intercommunalite_id = geo_epci.siren_epci WHERE 1
# Remove departement leading 0
UPDATE geo_epci SET `dep_com`=REPLACE(ltrim(replace(`dep_com`,'0',' ')),' ','0') WHERE 1
# CREATE VALUE FROM CONCAT OF 2 VALUES (AND trim leading 0)
UPDATE geo_commune SET `canton_insee_id`=CONCAT(`departement_id`, LPAD(`canton_id`, 2, '0')) WHERE 1
Doublons Nom de Domaine : SELECT id, `NomDuDomaine` FROM vigneron GROUP BY `NomDuDomaine` HAVING COUNT(*) > 1;
Remplacer les Quotes UPDATE vigneron SET `RaisonSociale`=REPLACE(`RaisonSociale`, '\\', '') WHERE `RaisonSociale`="SCEA Domaine d'Archimbaud"
Update Lat/Lng à partir d'une autre table : UPDATE vigneron INNER JOIN vigneron_geo on vigneron_geo.id = vigneron.id SET vigneron.lat = vigneron_geo.lat;
UPDATE vigneron INNER JOIN vigneron_geo on vigneron_geo.id = vigneron.id SET vigneron.lng = vigneron_geo.lng;
Supprimer espace avant / après chaîne : UPDATE `ville2` set `nom_min` = TRIM(`nom_min`);
# CHANGE MySQL USER PASSWORD
mysql -u root -p
use mysql;
update user set password=PASSWORD("NEW-PASSWORD-HERE") where User='USER-NAME';
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment