Apprendre le langage SQL - Le DML - 1 / 21 - Apprendre le langage SQL par l exemple Partie 2 : le DML



Documents pareils
COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Langage SQL : créer et interroger une base

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Le Langage SQL version Oracle

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble.

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

SQL Historique

Plan de formation : Certification OCA Oracle 11g. Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques

Devoir Data WareHouse

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Mysql. Les requêtes préparées Prepared statements

MySQL / SQL EXEMPLES

MODE OPERATOIRE OPENOFFICE BASE

TP Contraintes - Triggers

Le langage SQL Rappels

Bases de données et sites WEB Licence d informatique LI345

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Cours SQL. Base du langage SQL et des bases de données

Le Langage De Description De Données(LDD)

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

Cours Bases de données 2ème année IUT

Les bases de données

TD : Requêtes SQL (BDR.TD2-1) INSA 3IF

Bases de données relationnelles

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

Bases de Données relationnelles et leurs systèmes de Gestion

Partie I : Créer la base de données. Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle

SQL Serveur Programme de formation. France Belgique Suisse - Canada. Formez vos salariés pour optimiser la productivité de votre entreprise

Création et Gestion des tables

Notes de cours : bases de données distribuées et repliquées

FileMaker 13. Guide de référence SQL

Historisation des données

Introduction à JDBC. Accès aux bases de données en Java

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO S2-IO2 Bases de données: Jointures, Transactions

Optimisation SQL. Quelques règles de bases

Whitepaper. Méthodologie de création de rapports personnalisés SQL Server Reporting Services

Compétences Business Objects

Exploiter les statistiques d utilisation de SQL Server 2008 R2 Reporting Services

1 Introduction et installation

Les déclencheurs. Version 1.0. Grégory CASANOVA

TP3 : Creation de tables 1 seance

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

Database Manager Guide de l utilisateur DMAN-FR-01/01/12

Cours Access 1) INTRODUCTION AU SGBD...4 2) LES TABLES...4

Gestion des transactions et accès concurrents dans les bases de données relationnelles

SOMMAIRE. Travailler avec les requêtes... 3

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Bible MySQL! La première version de MySQL est apparue en Cette première version est créée pour un usage personnel à partir de msql.

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

Base de données relationnelle et requêtes SQL

BTS/CGO P10 SYSTEME INFORMATION Année

Plan. Bases de Données. Sources des transparents. Bases de SQL. L3 Info. Chapitre 4 : SQL LDD Le langage de manipulation de données : LMD

Partie 0 : Gestion des tablespace et des utilisateurs... 3

Les bases fondamentales du langage Transact SQL

TD n 10 : Ma première Base de Données

I. MySQL : Serveur et SGBD

Manuel de référence réduit de mysql (version 4.1.1) + "The MySQL C API" par Paul Dubois Licence Professionnelle Réseaux et Télécommunications Option

Introduction au Système de Gestion de Base de Données et aux Base de Données

Les BASES de DONNEES dans WampServer

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers

SUPPORT SQL. Thierry GRANDADAM

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

Olivier Mondet

Cours Bases de données 2ème année IUT

PHP. Bertrand Estellon. 26 avril Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril / 214

Gestion des utilisateurs et de leurs droits

Le langage SQL (première partie) c Olivier Caron

La présente publication est protégée par les droits d auteur. Tous droits réservés.

Sage CRM. 7.2 Guide de Portail Client

1. Base de données SQLite

3. La SGA ou System global Area

Master Exploration Informatique des données DataWareHouse

FORMATION A L UTILISATION DE PMB QUELQUES NOTIONS DE SQL

16H Cours / 18H TD / 20H TP

Administration des bases de données relationnelles Part I

Auto-évaluation Oracle: cours de base

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW

Vincent Augusto

Implémentation des SGBD

Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication

Système de Gestion de Bases de Données Relationnelles. MySQL. Youssef CHAHIR

Durée : 4 heures Le sujet se présente sous la forme de deux dossiers indépendants

Administration des bases de données. Jean-Yves Antoine

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

MEDIAplus elearning. version 6.6

Calc 2 Avancé. OpenOffice.org. Guide de formation avec exercices et cas pratiques. Philippe Moreau

TABLEAU CROISE DYNAMIQUE

SQL Server 2014 Administration d'une base de données transactionnelle avec SQL Server Management Studio

Transcription:

Apprendre le langage SQL - Le DML - 1 / 21 - Apprendre le langage SQL par l exemple Partie 2 : le DML Ce document est publié sous licence Creative Commons CC-by-nc-nd. Il ne peut ni être modifié, ni faire l objet d une exploitation commerciale par un centre de formation, une collectivité territoriale, une association ou une entreprise.

Apprendre le langage SQL - Le DML - 2 / 21 - Présentation Le DML, c'est essentiellement quatre instructions : INSERT Ajout d'enregistrement à une table UPDATE Mise à jour d'enregistrement(s) DELETE Suppression d'enregistrement(s) SELECT Extraction de données issues d'une ou plusieurs tables ou vues

Apprendre le langage SQL - Le DML - 3 / 21 - Transactions Les modifications apportées à une table par l'emploi des commandes INSERT, UPDATE ou DELETE ne sont visibles des autres utilisateurs qu'à partir de l'exécution de l'instruction COMMIT par l'utilisateur qui a procédé aux modifications. A l'occasion de ces modifications, Oracle pose des verrous sur ligne ou sur table. Ils empêchent les autres utilisateurs d'accéder aux données modifiées, dans un souci de de cohérence des données du système d'information. Les verrous posées au cours de la transaction sont détruits par l'exécution du COMMIT ou du ROLLBACK. ROLLBACK remet la base dans l'état qui prévalait avant les modifications.

Apprendre le langage SQL - Le DML - 4 / 21 - Les tables du schéma SH

Apprendre le langage SQL - Le DML - 5 / 21 - Les tables du schéma CRM

Apprendre le langage SQL - Le DML - 6 / 21 - INSERT INSERT INTO sh.countries (country_id, country_iso_code, country_name, country_subregion, country_subregion_id, country_region, country_region_id, country_total, country_total_id) VALUES ('52999', 'MA', 'Maroc', 'Africa', '52792', 'Africa', '52800', 'World total', '52806') Ou bien, lorsque toutes les colonnes sont renseignées dans l'ordre où elles sont présentées dans la table INSERT INTO sh.countries VALUES ('52999', 'MA', 'Maroc', 'Africa', '52792', 'Africa', '52800', 'World total', '52806')

Apprendre le langage SQL - Le DML - 7 / 21 - INSERT en présence d'un compteur Lorsque la table possède un compteur (séquence + trigger), évitez de le renseigner! INSERT INTO crm.client (client_raisonsociale, client_adresse, client_cp, client_ville) VALUES ('Winuxware', 'Les Bucailles', 27520, 'Saint Léger du Gennetey')

Apprendre le langage SQL - Le DML - 8 / 21 - DELETE L'instruction DELETE s'emploie à titre principal avec la clause WHERE. Pour supprimer toutes les données d'une table de manière irréversible, vous disposez de l'instruction TRUNCATE. Pour valider l'effacement d'enregistrement, vous devez procéder, ensuite, à un COMMIT. Plus dangereux, le TRUNCATE est beaucoup plus rapide!!! Mode transactionnel DELETE FROM crm.contact; COMMIT; Mode non transactionnel TRUNCATE TABLE crm.contact;

Apprendre le langage SQL - Le DML - 9 / 21 - Utilisation de la clause WHERE Suppression à partir de la valeur de la clé DELETE FROM crm.client WHERE client_id = 1; COMMIT; Suppression de plusieurs lignes DELETE FROM crm.client WHERE client_cp BETWEEN 93000 AND 93999; COMMIT;

Apprendre le langage SQL - Le DML - 10 / 21 - UPDATE Mise à jour des valeurs des colonnes d'une table UPDATE crm.client SET client_raisonsociale=upper(client_raisonsociale), client_ville=upper(client_ville); COMMIT; Mise à jour de lignes UPDATE crm.client SET client_raisonsociale='denis Szalkowski' WHERE client_raisonsociale = 'Dsfc' AND client_cp=27800; COMMIT;

Apprendre le langage SQL - Le DML - 11 / 21 - SELECT : la syntaxe de base L'instruction SELECT permet d'afficher le contenu d'une table. Tapez votre instruction sur plusieurs lignes, en indentant le code SQL, afin de le rendre plus lisible. L'instruction ci-dessous affiche toutes les colonnes et toutes les lignes d'une table. SELECT * FROM sh.countries Oracle n'est pas sensible à la casse au niveau des instructions et des clauses utilisées : SELECT et select, d'une part, FROM et from, d'autre part, seront interprétés de la même façon. Sous Oracle, nous avons pour habitude de taper instructions et clauses en majuscules. Les expressions introduites par l'utilisateur sont en général en minuscules.

Apprendre le langage SQL - Le DML - 12 / 21 - Commentaires Pour rendre plus compréhensible les instructions SQL, vous pouvez employer les commentaires dans vos fichiers. REM Commentaire en ligne REMARK commentaire en ligne -- Commentaire en ligne /* Commentaire en bloc, sur plusieurs lignes */

Apprendre le langage SQL - Le DML - 13 / 21 - SELECT : affichage partiel Vous pouvez, en les spécifiant, visualiser, du contenu de la table, le contenu de certaines colonnes. SELECT country_region, country_name FROM sh.countries

Apprendre le langage SQL - Le DML - 14 / 21 - Alias de colonnes Les applications utilisant des bases de données présentent très souvent des identifiants de colonnes en anglais. Vous pouvez associer un alias à ces colonnes. SELECT country_region AS continent, country_name AS pays FROM sh.countries La clause AS est totalement facultative.

Apprendre le langage SQL - Le DML - 15 / 21 - Utilisation des guillemets dans les alias de colonnes Au niveau des alias de colonnes, Oracle n'est pas sensible à la casse. Pour obliger Oracle à afficher minuscules, majuscules ou à afficher des caractères spéciaux et des espaces dans les alias de colonnes, vous devez les encadrer de guillemets! SELECT country_region "Continent", country_name "Pays" FROM sh.countries

Apprendre le langage SQL - Le DML - 16 / 21 - Tri des données Le tri des lignes d'une table peut se faire de manière croissante ou décroissante, sur la valeur d'une ou de plusieurs colonnes. L'existence d'un index sur la colonne du tri accélère l'exécution de l'instruction SQL. SELECT country_region, country_name FROM sh.countries ORDER BY country_region DESC, country_name ASC

Apprendre le langage SQL - Le DML - 17 / 21 - Spécificité de l'emploi de la clause ORDER BY La clause ORDER BY est la seule clause associée à L'ordre SQL qui peut utiliser les alias de colonnes en lieu et place des noms de colonnes. SELECT country_region continent, country_name pays FROM sh.countries ORDER BY continent DESC, pays ASC

Apprendre le langage SQL - Le DML - 18 / 21 - La clause DISTINCT Pour éliminer l'affichage des doublons portant sur une, plusieurs ou la totalité des colonnes, vous pouvez utiliser la clause DISTINCT. Son utilisation trie les données dans l'ordre de présentation des colonnes définies dans l'instruction SELECT. SELECT DISTINCT country_region FROM sh.countries

Apprendre le langage SQL - Le DML - 19 / 21 - Fonctions courantes L'ordre SELECT permet l'utilisation de fonctions au niveau des colonnes. UPPER, LOWER SYSDATE : SELECT SYSDATE FROM DUAL affiche la date du jour DECODE TO_CHAR, TO_DATE, TO_NUMBER CONCAT Ces fonctions sont utilisables également au niveau de la clause WHERE. Les champs présentés dans l'ordre SELECT peuvent être des champs calculés.

Apprendre le langage SQL - Le DML - 20 / 21 - La clause WHERE La clause WHERE permet de filtrer les lignes selon des conditions portant sur les valeurs de colonnes. SELECT * FROM sh.customers WHERE --date_of_birth between '01/01/1960' and '31/12/1970' --to_char(date_of_birth,'yyyy') between 1960 and 1970 cust_year_of_birth BETWEEN 1960 AND 1970 AND UPPER(cust_gender)='F' AND LOWER(cust_marital_status)='single' AND (cust_credit_limit>12500 OR cust_credit_limit<=1500) AND cust_city NOT IN ('Bordeaux','Paris', 'Berlin', 'Karlsruhe','Blatimore') AND NOT cust_first_name LIKE 'D%'

Apprendre le langage SQL - Le DML - 21 / 21 - Utilisation des expressions régulières Les expressions régulières nous offrent d'immenses possibilités quant à l'extraction d'informations à partir de masques portant sur des chaînes de caractères. SELECT * FROM sh.customers WHERE REGEXP_LIKE(cust_street_address,'^[0-9]7(.+)[aA]venue$')