Aller au contenu
Apprendre.
  • M1 · toutes les matières15 matières : Préparation de données, API & sécurité, CI/CD, Docker, Merise, Dataviz, KNIME, ML appliqué : projet LoL, SQL & UML, SQL avancé, Machine Learning, Git, IA frugale & responsable, Qualité des données, MathématiquesAnnée
  • M2 · toutes les matières4 matières : Deep Learning, AI Act, Comex & Fundraising, Gouvernance & DataMeshAnnée
  • Deep LearningM2 · 4 modules · Réseaux de neurones, CNN, texte, modèles génératifs.Matière
  • Préparation de donnéesM1 · 3 modules · Nettoyer, transformer et fusionner des données avec Python.Matière
  • API & sécuritéM1 · 2 modules · Consommer, concevoir et sécuriser des API.Matière
  • CI/CDM1 · 1 module · Intégration et livraison continues.Matière
  • DockerM1 · 3 modules · Conteneurs, images, volumes, réseaux, Compose.Matière
  • MeriseM1 · 2 modules · Modéliser une base : MCD, MLD, MPD.Matière
  • DatavizM1 · 2 modules · Visualiser pour comprendre et décider.Matière
  • KNIMEM1 · 1 module · Explorer et nettoyer des données en workflow.Matière
  • ML appliqué : projet LoLM1 · 2 modules · Du besoin métier au POC de vision par ordinateur.Matière
  • SQL & UMLM1 · 3 modules · Modèles UML et requêtes SQL.Matière
  • SQL avancéM1 · 3 modules · Jointures, fenêtres, CTE, optimisation.Matière
  • Machine LearningM1 · 3 modules · Régression, classification, segmentation, projet.Matière

↑↓ naviguer↵ ouvre le résultat en surbrillanceesc fermer

Partie 2 · SQL de base

INSERT, UPDATE, DELETE

Ajouter : INSERT

Il faut préciser la valeur de chaque attribut. Si certaines sont omises, ce sont les valeurs par défaut de la création qui s'appliquent ; sans défaut, MySQL met 0, une chaîne vide, une date nulle… pour une colonne NOT NULL, et NULL si elle l'autorise.

FormeSyntaxe
ÉtendueINSERT INTO Personnes(nom, prénom) VALUES('Martin', 'Jean')
StandardINSERT INTO Ballon VALUES(20, 'rouge') : plus courte, mais l'ordre et le nombre de valeurs doivent être exactement ceux de la table (('rouge', 20) ou ('rouge') seul sont faux)
ComplèteINSERT INTO Ballon VALUES (20,'rouge'), (35,'vert fluo'), (17,'orange') : plusieurs lignes d'une même table ; pas de tables différentes

REPLACE est un synonyme d'INSERT mais « sans doublon » : pratique pour respecter les contraintes UNIQUE / PRIMARY KEY.

À toi de coder

Insertion étendue

Dans l'insertion étendue, on nomme les colonnes concernées : INSERT INTO relation(liste des attributs) VALUES(liste des valeurs). Les colonnes omises reçoivent leur valeur par défaut, ou NULL si elles l'autorisent. C'est plus sûr que l'insertion standard (sans liste), qui impose l'ordre exact des colonnes de la table.

Ajoute Zoé Moreau à Personnes en ne renseignant que le nom et le prénom.

Ctrl/⌘+Entrée

Vérifie que tu as compris

Table Ballon(taille INT NOT NULL, couleur VARCHAR(40)). Quelle insertion standard est correcte ?

Modifier : UPDATE

UPDATE relation SET attribut=valeur, … [WHERE condition] [LIMIT a]

Le WHERE choisit les enregistrements à modifier ; SET dit quels attributs prennent quelles valeurs. Plusieurs attributs à la fois : SET téléphone='0156281469', fax='0156281812' WHERE id = 102. Sans WHERE : toute la table est modifiée. LIMIT a n'applique la commande qu'aux a premiers enregistrements qui satisfont la condition. Une valeur peut dépendre de l'ancienne : UPDATE Enfants SET age=age+1. (LOW_PRIORITY attend que plus personne ne lise la table.)

Supprimer : DELETE

DELETE [LOW_PRIORITY] FROM relation [WHERE condition] [LIMIT a]

La suppression est définitive. Sans WHERE, la table est vidée (le cours précise : elle est effacée puis recréée, plutôt que supprimée tuple par tuple, ce qui serait très long).

À toi de coder

Modifier un seul enregistrement

UPDATE relation SET attribut=valeur [WHERE condition]. Le WHERE est vital : sans lui, tous les enregistrements sont modifiés.

Change le téléphone de Pierre Martin en '0156281469' sans toucher à Marc Martin (même nom de famille !).

Ctrl/⌘+Entrée

Vérifie que tu as compris

Que fait UPDATE Personnes SET telephone='0156281469' sans WHERE ?