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 base
  • desc (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

[modifier] Compléments contraintes d'intégrite

/contraintes integrite

Wikipedia HTML 2008 in other languages

100 000 +

Česká (Czech)  •  English  •  Deutsch (German)  •  日本語 (Japanese)  •  Français (French)  •  Polski (Polish)  •  Suomi (Finnish)  •  Svenska (Swedish)  •  Nederlands (Dutch)  •  Español (Spanish)  •  Italiano (Italian)  •  Norsk (Norwegian Bokmål)  •  Português (Portuguese)  •  Română (Romanian)  •  Русский (Russian)  •  Türkçe (Turkish)  •  Українська (Ukrainian)  •  中文 (Chinese)

10 000 +

العربية (Arabic)  •  Български (Bulgarian)  •  Bosanski (Bosnian)  •  Català (Catalan)  •  Cymraeg (Welsh)  •  Dansk (Danish)  •  Ελληνικά (Greek)  •  Esperanto  •  Eesti (Estonian)  •  Euskara (Basque)  •  Galego (Galician)  •  עברית (Hebrew)  •  हिन्दी (Hindi)  •  Hrvatski (Croatian)  •  Magyar (Hungarian)  •  Ido  •  Bahasa Indonesia (Indonesian)  •  Íslenska (Icelandic)  •  Basa Jawa (Javanese)  •  한국어 (Korean)  •  Latina (Latin)  •  Lëtzebuergesch (Luxembourgish)  •  Lietuvių (Lithuanian)  •  Latviešu (Latvian)  •  Bahasa Melayu (Malay)  •  Plattdüütsch (Low Saxon)  •  Norsk (Norwegian Nynorsk)  •  فارسی (Persian)  •  Sicilianu (Sicilian)  •  Slovenčina (Slovak)  •  Slovenščina (Slovenian)  •  Српски (Serbian)  •  Basa Sunda (Sundanese)  •  தமிழ் (Tamil)  •  ไทย (Thai)  •  Tiếng Việt (Vietnamese)

1 000 +

Afrikaans  •  Asturianu (Asturian)  •  Беларуская (Belarusian)  •  Kaszëbsczi (Kashubian)  •  Frysk (Western Frisian)  •  Gaeilge (Irish)  •  Interlingua  •  Kurdî (Kurdish)  •  Kernewek (Cornish)  •  Māori  •  Bân-lâm-gú (Southern Min)  •  Occitan  •  संस्कृत (Sanskrit)  •  Scots  •  Tatarça (Tatar)  •  اردو (Urdu) Walon (Walloon)  •  יידיש (Yiddish)  •  古文/文言文 (Classical Chinese)

100 +

Nehiyaw (Cree)  •  словѣньскъ (Old Church Slavonic)  •  gutisk (Gothic)  •  ລາວ (Laos)