L’instruction DELETE supprime les lignes d’une table.
Syntaxe:
DELETE FROM nom_table WHERE condition ;
Remarque : S’il n’y a pas de clause « where » dans l’instruction Delete, SQL supprimera toutes les données de la table. Vous devez donc être très prudent lors de l’exécution de l’instruction Delete et vous assurer qu’il existe une clause Where.
Base de données DB2 :
Vous trouverez ci-dessous une sélection de la table “Produit” de la base de données DB2 :
ID-Produit
Nom-Produit
Categorie
Prix
Stock
Valeur-Totale
7001
Souris
Accessoires
75,00
7002
Disque dur
65,00
20
1 300
7003
Clavier
Accessoires
36.00
33
1 118,00
7004
RAM
Composants
23.50
16
376,00
7005
VTT
vélos
1 200
7006
Stylo
7.45
10
74,50
Exemple 1 : supprimer un enregistrement
Supprimez ‘ID_Produit’ 7003 de la table ‘Produit’.
DELETE FROM Produit WHERE ID_Product = ‘7003’;
Résultat:
ID-Produit
Nom-Produit
Categorie
Prix
Stock
Valeur-Totale
7001
Souris
Accessoires
75,00
7002
Disque dur
65,00
20
1 300
7004
RAM
Composants
23.50
16
376,00
7005
VTT
vélos
1 200
7006
Stylo
7.45
10
74,50
Exemple 2 : Supprimer tous les enregistrements
Supprimez tous les départements de la table ‘Produit’ (c’est-à-dire videz la table).
L’instruction SQL suivante supprime toutes les lignes de la table “Produit”, sans supprimer la table.
L’instruction SELECT est utilisée pour récupérer des données d’une base de données.
Pour utiliser SELECT, au minimum, spécifiez deux éléments d’information, ce que vous voulez sélectionner et d’où vous voulez le sélectionner.
Syntaxe:
SELECT colonne1, colonne2, ...
FROM nom_table ;
Ici, colonne1, colonne2, … sont les noms de champ de la table à partir de laquelle vous souhaitez sélectionner des données. Si vous souhaitez sélectionner tous les champs disponibles dans le tableau, utilisez la syntaxe suivante :
SELECT * FROM nom_table ;
Base de données DB2 :
Vous trouverez ci-dessous une sélection de la table “Produit” de la base de données DB2.
ID-produit
Nom-Produit
Catégorie
Prix
Stock
Valeur-Totale
7001
Souris
Accessoires
75,00
7002
Disque dur
65,00
20
1 300
7003
Clavier
Accessoires
36.00
33
1 118,00
7004
RAM
Composants
23.50
16
376,00
7005
Roue
vélos
1 200
7006
STYLO
7.45
10
74,50
Exemple 1 : Récupération Simple
SELECT Nom-Produit FROM Produit ;
Cette instruction SELECT récupère une seule colonne appelée Nom-Produit à partir de la table Product.
Résultat:
Nom-Produit
Souris
Disque dur
Clavier
RAM
Roue
STYLO
Exemple 2 : Récupération de plusieurs colonnes
Pour récupérer plusieurs colonnes d’une table, plusieurs noms de colonne doivent être spécifiés après le mot-clé SELECT et chaque colonne doit être séparée par une virgule.
SELECT ID-Produit, Nom-Produit, Prix FROM Produit ;
Cette instruction SELECT récupère les données de plusieurs colonnes de la table Produit.
Résultat:
ID-Produit
Nom-Produit
Prix
7001
Souris
75,00
7002
Disque dur
65,00
7003
Clavier
36.00
7004
RAM
23.50
7005
Roue
1 200
7006
STYLO
7.45
Exemple 3 : Récupération de toutes les colonnes
En plus de pouvoir spécifier les colonnes souhaitées (une ou plusieurs, comme vu précédemment), les instructions SELECT peuvent également demander toutes les colonnes sans avoir à les répertorier individuellement. Pour ce faire, utilisez le caractère générique astérisque (*) à la place des noms de colonne réels, comme suit.
Pour trier explicitement les données extraites à l’aide d’une instruction SELECT, la clause ORDER BY est utilisée.
Le mot-clé ORDER BY trie les enregistrements par ordre croissant par défaut. Pour trier les enregistrements par ordre décroissant, utilisez le mot-clé DESC.
Syntaxe:
SELECT colonne1, colonne2, ...
FROM nom_table
ORDER BY colonne1, colonne2, ... ASC|DESC;
Base de données DB2 :
Vous trouverez ci-dessous une sélection de la table “Product” de la base de données DB2.
ID-Produit
Nom-Produit
Categorie
Prix
Stock
Valeur-Totale
7001
Souris
Accessoires
75,00
7002
Disque dur
Accessoires
65,00
20
1 300
7003
Clavier
Accessoires
36.00
33
1 118,00
7004
RAM
Composants
23.50
16
376,00
7005
VTT
vélos
1 200
7006
Stylo
Papeterie
7.45
dix
74,50
7007
Clé USB
Accessoires
65,00
20
1 300
Exemple 1 : tri par colonnes simples
SELECT ID-Produit, Nom-Produit, Categorie, Prix
FROM Produit
ORDER BY Prix;
Cette instruction trie les données par ordre alphabétique dans l’ordre croissant de la colonne Prix.
Résultat:
ID-Produit
Nom-Produit
Categorie
Prix
7006
Stylo
Papeterie
7.45
7004
RAM
Composants
23.50
7003
Clavier
Accessoires
36.00
7002
Disque dur
Accessoires
65,00
7007
Clé USB
Accessoires
65,00
7001
Souris
Accessoires
75,00
7005
VTT
vélos
1 200
Exemple 2 : tri sur plusieurs colonnes
Pour trier sur plusieurs colonnes, spécifiez simplement les noms de colonne séparés par des virgules dans la clause ORDER BY.
SELECT ID-Produit, Nom-Produit, Prix
FROM Produit
ORDER BY Prix, Nom-Produit;
Ce code récupère trois colonnes et trie les résultats par deux d’entre eux, d’abord par Price puis par ProductName (c’est-à-dire si plusieurs enregistrements sont présents avec le même prix, ces enregistrements seront à nouveau triés en fonction du nom).
Résultat:
ID-Produit
Nom-Produit
Prix
7006
Stylo
7.45
7004
RAM
23.50
7003
Clavier
36.00
7002
Disque dur
65,00
7007
Clé USB
65,00
7001
Souris
75,00
7005
VTT
1 200
Exemple 3 : Trier par position de colonne
ORDER BY prend également en charge le classement spécifié par la position relative des colonnes.
SELECT ID-Produit, Prix, Nom-Produit
FROM Produit
ORDER BY 2, 3;
ORDER BY 2 signifie trier par la deuxième colonne de la liste SELECT, la colonne Prix. ORDER BY 2, 3 signifie trier par Price puis par ProductName.
Résultat:
ID-Produit
Prix
Nom-Produit
7006
7.45
Stylo
7004
23.50
RAM
7003
36.00
Clavier
7002
65,00
Disque dur
7007
65,00
Clé USB
7001
75,00
Souris
7005
1 200
VTT
Exemple 4 : Spécification du sens de tri
Le tri des données ne se limite pas aux ordres de tri croissants (de A à Z). Bien qu’il s’agisse de l’ordre de tri par défaut, la clause ORDER BY peut également être utilisée pour trier par ordre décroissant (de Z à A).
Pour trier par ordre décroissant, le mot-clé DESC doit être spécifié.
SELECT ProductID, ProductName, Price FROM Product ORDER BY Price DESC ;
Ce SQL trie les produits par prix dans l’ordre décroissant (produit le plus cher présent en premier).
Une vue offre une manière différente d’examiner les données dans une ou plusieurs tables. L’instruction VIEW (vue) est une table virtuelle constituée d’une instruction SQL SELECT qui accède aux données d’une ou plusieurs tables ou vues.
Une vue contient des lignes et des colonnes, tout comme une vraie table. Les champs d’une vue sont des champs d’une ou plusieurs tables réelles de la base de données.
Voici la syntaxe de création de vue :
CREATE VIEW nom-view
AS requete
Où, requete signifie n’importe quelle instruction SQL SELECT.
Exemple:
Créez une vue nommée VW_PROJET sur la table TB_PROJET qui contient uniquement les lignes avec un numéro de projet (PROJET_NO) commençant par les lettres “SP”.
CREATE VIEW VW_PROJET
AS SELECT *
FROM TB_PROJET
WHERE SUBSTR(PROJET_NO, 1, 2) = 'SP'
Nous pouvons interroger la vue ci-dessus comme suit :
L’instruction CREATE ALIAS définit un alias pour un module, un surnom, une séquence, une table, une vue ou un autre alias. Les alias sont également appelés synonymes.
Voici la syntaxe de création d’alias :
CREATE[REPLACE] ALIAS nom-alias
FOR TABLE nom-table
[FOR MODULE nom-module]
[FOR SEQUENCE nom-séquence]
Exemple:
L’instruction SQL suivante crée un alias pour une table TB_TABLE.
L’instruction SQL ALTER INDEX est utilisée pour modifier la définition d’un index.
Voici la syntaxe de modification d’index :
ALTER INDEX nom-index
[REGENERATE]
[ADD COLUMN (nom-colonne ASC/DESC)]
[CLUSTER | NOT CLUSTER]
[PADDED | NOT PADDED]
[using-specification]
[free-specification]
[COMPRESS YES | NO]
[ALTER partition-element
using-specification
free-specification]
[BUFFERPOOL nom-bp]
[CLOSE YES | NO]
[PIECESIZE integer]
[COPY YES | NO]
Explication:
REGENERATE : Spécifie que l’index sera régénéré.
ADD COLUMN : ajoute nom-colonne à l’index.
ALTER PARTITION : identifie la partition de l’index à modifier.
Exemple 1:
Modifiez l’index DSN8910.IX_EMP. Indiquez que DB2 ne doit pas fermer les ensembles de données qui prennent en charge l’index lorsqu’il n’y a aucun utilisateur actuel de l’index.
ALTER INDEX DSN8910.IX_EMP
CLOSE NO;
Modifier l’index partitionné DSN8910.IX_DEPT. Pour la partition 3, laissez une page d’espace libre pour 13 pages et 13 % d’espace libre par page. Pour la partition 5, laissez une page pour 25 pages et 25 % d’espace libre. Pour toutes les autres partitions, laissez une page d’espace libre pour 6 pages et 11 % d’espace libre.
ALTER INDEX DSN8910.IX_DEPT
USING
VCAT CATLGG
FREEPAGE 6
PCTFREE 11
ALTER PARTITION 3
USING VCAT CATLGG
FREEPAGE 13
PCTFREE 13,
ALTER PARTITION 5
USING VCAT CATLGG
FREEPAGE 25
PCTFREE 25;
Exemple 2 :
Modifiez l’index DSN8910.IX_PROJ. Utilisez BP1 comme pool de mémoire tampon à associer à l’index, indiquez que l’image complète ou les copies simultanées sur l’index sont autorisées et modifiez la taille maximale de chaque ensemble de données à 8 mégaoctets.
ALTER INDEX DSN8910.IX_PROJ
BUFFERPOOL BP1
COPY YES
PIECESIZE 8M;
Exemple 3 :
Supposons que l’index IX_X1 contient au moins une colonne de longueur variable et est un index rembourré. Remplacez l’index par un index qui n’est pas rempli.
Un alias est juste cela, un nom alternatif pour un champ ou une valeur.
Les alias sont attribués avec le mot-clé AS.
Les alias SQL sont utilisés pour donner à une table, ou à une colonne d’une table, un nom temporaire. Les alias sont souvent utilisés pour rendre les noms de colonnes plus lisibles.
Syntaxe : alias de colonne
SELECT nom_colonne AS nom_alias
FROM nom_table ;
Syntaxe : alias de table
SELECT nom_colonne(s)
FROM nom_table AS nom_alias ;
Base de données DB2 :
Vous trouverez ci-dessous une sélection de la table “Product” de la base de données DB2.
ID-Produit
Nom-Produit
Categorie
Prix
Stock
Valeur-Totale
7001
Souris
Accessoires
75,00
7002
Disque dur
65,00
20
1 300
7003
Clavier
Accessoires
36.00
33
1 118,00
7004
RAM
Composants
23.50
16
376,00
7005
VTT
vélos
1 200
7006
STYLO
7.45
dix
74,50
7007
Lecteur CD
Accessoires
75,00
7008
Micro
Accessoires
75,00
7009
Amplificateur
Composants
25.00
7010
casque de musique
Accessoires
100,00
Exemple 1:
L’instruction SQL suivante crée deux alias, un pour la colonne ProductID et un pour la colonne ProductName :
SELECT ID_Produit AS ID, Nom_Produit AS Produit
FROM Produit ;
Le résultat de cette requête est le suivant.
ID
Produit
7001
Souris
7002
Disque dur
7003
Clavier
7004
RAM
7005
VTT
7006
STYLO
7007
Lecteur CD
7008
Micro
7009
Amplificateur
7010
casque de musique
Exemple 2 :
Si le nom d’alias contient des espaces, il nécessite des guillemets simples ou des crochets.
SELECT CONCAT('LaCommunaute','DuCobol') AS 'Valeur combinée'
FROM SYSIBM.SYSDUMMY1;
Voici la sortie :
Valeur combinée
-------------
LaCommunauteDuCobol
Exemple 3 :
L’instruction SQL suivante vend tous les produits de la table product. Nous utilisons la table “Product” et donnons à la table des alias comme “P” (ici, nous utilisons des alias pour raccourcir le SQL) :
Ceci est un exemple simple d’alias de table. nous n’utilisons généralement pas d’alias pour une requête de table unique. Juste à des fins de compréhension, nous avons utilisé des alias pour une requête de table unique.
SELECT P.ID_Produit, P.Nom_Produit
FROM Produit AS P ;
Le résultat de cette requête est le suivant.
ID-Produit
Nom-Produit
7001
Souris
7002
Disque dur
7003
Clavier
7004
RAM
7005
VTT
7006
STYLO
7007
Lecteur CD
7008
Micro
7009
Amplificateur
7010
casque de musique
Les alias peuvent être utiles lorsque :
Il y a plus d’une table impliquée dans une requête
Les fonctions sont utilisées dans la requête
Les noms de colonne sont grands ou peu lisibles
Deux ou plusieurs colonnes sont combinées ensemble