Utilisateur:Darkoneko/SQL
Un article de Wikipédia, l'encyclopédie libre.
pour se connecter depuis la console :
mysql tding1 -u (monlogin) -p (monlogin)
SELECT <- projections
FROM <- produits cartésiens
WHERE <- restrictions + critères de jointure
Sommaire |
[modifier] Commandes de base
show tables
: liste les tables de la basedesc (table)
: décrire une table
[modifier] Mettre des commentaires
#ligne --ligne
[modifier] le client SQL
/options de la ligne de commande
[modifier] jointures
SELECT ...
FROM table1 A JOIN table2 B
ON A.col2 = B.col3
WHERE ...
LEFT JOIN
RIGHT JOIN
...
[modifier] modification de données
- INSERT INTO table(col1 col2, col3, col4) VALUES val1, val2, val3, val4;
- il est possible de ne pas préciser les colonnes si elles sont toutes utilisées)
- syntaxe pour rajouter plusieurs lignes : rajouter ,(val1, val2, val3, val4) pour autant de lignes que l'on veut. Note, pas standard, possible que certains SGDB ne reconnaissent pas la commande
- INSERT INTO table(col1, col2, col3)
-
- SELECT val1, val2, val3
- FROM tables
- WHERE condition
- note : valx est soit une constante, soit un attribut (le nom d'une colonne)
ex ;
INSERT INTO note(numEtudiant, numEpreuve, note) SELECT numEtudiant, 10, 14 FROM etudiant E WHERE E.nom LIKE "nomDeFamille" AND E.prenom LIKE "prenom";
- UPDATE table SET .... WHERE...;
- DELETE FROM table WHERE condition;
[modifier] Modification de structure
[modifier] créer une table
- CREATE TABLE table (
- attr1 TYPE1 propriete1
- attr2 TYPE2 propriete2
- attr3 TYPE3 propriete3
- attr4 TYPE4 propriete4
- .......);
propriétés possibles :
- PRIMARY KEY +auto_increment (eventuellement)
- REFERENCES +table(attribut) <-clé étrangère
- NOT NULL
- DEFAULT +valeur
- auto_increment (utilisable uniquement si le champ est clé primaire)
[modifier] faire une cle primaire sur plus attributs
au lieu de l'écrire en ligne, rajouter à la fin de la requête
PRIMARY KEY(attr1, attr2...)
[modifier] detruire une table
DROP TABLE table;
[modifier] modifier la structure
ALTER TABLE table modifications;
- renommer
- ajouter, modifier, supprimer un attribut
- ajouter/supprimer des clefs
[modifier] exemples
ALTER TABLE table RENAME nouveauNom; proprietes : NOT NULL, PRIMARY KEY, etc.... si NOT NULL, la valeur par defaut est une chaîne vide ALTER TABLE table ADD COLUMN attr type proprietes; ALTER TABLE table ADD COLUMN attr type proprietes AFTER champ; //après un autre champ ALTER TABLE table ADD COLUMN attr type proprietes FIRST; //en premier ALTER TABLE table MODIFY nouvelle definition *complete* d'un attribut; ALTER TABLE table //permet de changer le nom de l'attribut CHANGE nouveauNom type proprietes ALTER TABLE table //permet de ne pas avoir a repreciser toutes les proprietes ALTER attribut SET/DROP DEFAULT value //(ici, juste rajouter/supprimer une valeur par defaut) ALTER TABLE table //ajouter ou supprimer une cle primaire ADD/DROP PRIMARY KEY (attribut) note : attention, si un champ est auto-increment, il faut enlever cette propriété AVANT d'enlever la clef primaire à ce champ