sql

Attention ces choses sont valable pour mysql !

select

select champ1, champ2 from table where champ1 = xxx

Jointure ancienne formule

SELECT CLI_NOM, TEL_NUMERO
FROM   T_CLIENT C
       INNER JOIN T_TELEPHONE T
             ON C.CLI_ID = T.CLI_ID

seul les client avec un numéro sont listé

SELECT CLI_NOM, TEL_NUMERO
FROM   T_CLIENT C 
       INNER JOIN T_TELEPHONE T
             ON C.CLI_ID = T.CLI_ID
WHERE  TYP_CODE = 'FAX'

tous les clients avec ou sans telephone sont liste ( outer join )


SELECT CLI_NOM, TEL_NUMERO 
FROM T_CLIENT C LEFT
 OUTER JOIN T_TELEPHONE T ON C.CLI_ID = T.CLI_ID WHERE TYP_CODE = 'FAX' OR TYP_CODE IS NULL


Structures tables

liste des tables

Pour mysql > 5

SELECT table_name
FROM INFORMATION_SCHEMA.TABLES
WHERE table_schema = 'testcastor'

renomer une table

RENAME TABLE latable TO nouveau_nom

Avoir les champs d'une table

  DESC ACL 

Pour récupérer une requete de création d'une table

SHOW CREATE TABLE <table>

Pour avoir la liste des index d'une table

SHOW INDEX FROM <table>.

Création d'une table

CREATE TABLE nom_table (champs1 int, champs2 varchar (255), champs3 datetime);

Ajout modification ou suppression de champs à une table

ALTER TABLE latable ADD / MODIFY / DROP / RENAME lacolonne

avoir info sur une table

 SHOW TABLE STATUS FROM base LIKE table' 

Liste des table

Show tables

Ajout modification ou suppression de champts d'une table existante

ALTER TABLE latable ADD / MODIFY / DROP / RENAME lacolonne

Divers

Mots clés CURDATE() : c'est la date du jour au format iso CURRENT_TIMESTAMP() et NOW() : donne la date et l'heure : Utile pour stocker la date de création ou de modification d'un enregistrement

Ressources