Your SlideShare is downloading. ×
Sql
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Sql

426
views

Published on

langage sql, php, base de données

langage sql, php, base de données


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
426
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Télécharger ce cours sur www.krymo.com
  • 2. Télécharger ce cours sur www.krymo.com Tutoriel SQLSQL est un langage standard daccès aux bases de données.Notre tutoriel SQL va vous apprendre comment utiliser SQL pour accéder et manipuler des données dans:MySQL, SQL Server, Access, Oracle, Sybase, DB2 et les autres bases.Syntaxe SQL:SELECT Company, Country FROM Customers WHERE Country <> USARésultat SQL:Company Country Royaume-Island Trading UniGalería del Gastronomo EspagneRire Bacchus Wine CanadaCellarsParis Spécialités FranceSimons bistro DanemarkWolski Zajazd Pologne
  • 3. Télécharger ce cours sur www.krymo.comIntroductionSQL est un langage standard pour accéder et manipuler des bases de données.Quest-ce que SQL? •SQL signifie Structured Query Language •SQL vous permet daccéder et de manipuler des bases de données •SQL est une norme ANSI (American National Standards Institute) standardQue pouvez-faire avec SQL? •SQL Server peut exécuter des requêtes sur une base de données •SQL Server peut récupérer des données à partir dune base de données •SQL peut insérer des enregistrements dans une base de données •SQL peut mettre à jour des enregistrements dans une base de données •SQL peut supprimer des enregistrements dune base de données •SQL peut créer de nouvelles bases •SQL permet de créer de nouvelles tables dans une base de données •SQL permet de créer des procédures stockées dans une base de données •SQL Server peut créer des vues dans une base de données •SQL peut définir des autorisations sur les tables, les procédures, et les vues
  • 4. Télécharger ce cours sur www.krymo.comSQL est un standard - MAIS ....Bien que SQL soit une norme ANSI (American National Standards Institute) standard, il existe de nombreuses versions différentes du langage.Toutefois, pour être conforme à la norme ANSI, elles ont toutes un soutien au moins pour les commandes principales (telles que SELECT, UPDATE, DELETE,INSERT, WHERE) de la même manière.Remarque: La plupart des programmes de base de données SQL ont aussi leurs propres extensions propriétaires, en plus de la norme SQL!Utilisation de SQL dans votre site WebPour construire un site web qui montre des données provenant dune base de données, vous aurez besoin des éléments suivants: •Un programme de base de données SGBDR (MS Access, SQL Server, MySQL) •Un langage de script côté serveur, comme PHP ou ASP •SQL •HTML / CSSSGBDRSGBDR représente le système relationnel de gestion de base de données.SGBDR est à la base SQL, et pour toutes les bases de données modernes tels que MS SQL Server, IBM DB2, Oracle, MySQL et Microsoft Access.Les données du SGBDR sont stockées dans la base de données des objets appelés tables.Une table est un ensemble dentrées de données correspondantes et se compose de colonnes et de lignes.
  • 5. Télécharger ce cours sur www.krymo.comSyntaxeLes tableaux de base de donnéesUne base de données contient le plus souvent une ou plusieurs tables. Chaque tableau est identifié par un nom (eg "Clients" ou "commandes"). Les tableauxcontiennent des enregistrements (lignes) avec des données.Voici un exemple dune table appelée «persons»:P_ID LastName FirstName Adress City Timoteivn 1 Hansen Ola Sandnes 10 2 Svendsen Tove Borgvn 23 Sandnes 3 Pettersen Kari Storgt 20 StavangerLe tableau ci-dessus contient trois disques (un pour chaque personne) et cinq colonnes (P_ID, LastName, FirstName, Adress et City).Instructions SQLLa plupart des actions que vous devez effectuer sur une base de données se font avec des instructions SQL.Linstruction SQL suivante sélectionne tous les enregistrements de la table «Persons»:SELECT * FROM PersonsDans ce tutoriel, nous allons vous apprendre tout sur les différentes déclarations SQL.
  • 6. Télécharger ce cours sur www.krymo.comGardez à lesprit que ... •SQL nest pas sensible à la casseUn point-virgule après les instructions SQL?Certains systèmes de bases de données nécessitent un point-virgule à la fin de chaque instruction SQL.Le point-virgule est le moyen standard pour séparer chaque instruction SQL dans la base de données des systèmes qui permettent plus dune instruction SQL àêtre exécutée dans le même appel au serveur.Quand nous utilisons MS Access et SQL Server 2000, nous navons pas de mettre une virgule après chaque instruction SQL, mais certains programmes debases de données nous forcent à en utiliser.SQL DML et DDLSQL peut être divisé en deux parties: Le langage de manipulation de données (DML) et le langage de définition de données (DDL).La requête et les commandes de mise à jour forment la partie de SQL DML: •SELECT - extrait des données dune base •UPDATE - mettre à jour des données dans une base •DELETE - efface les données dune base •INSERT INTO - insérer des données dans une baseLa partie DDL des tables de base de données SQL permet de créer ou de supprimer une base. Il définit également les index (clés), précise les liens entre lestables, et impose des contraintes entre les tables. Les déclarations les plus importantes dans SQL DDL sont les suivantes: •CREATE DATABASE - crée une nouvelle base de données •ALTER DATABASE - modifie une base de données •CREATE TABLE - crée une nouvelle table •ALTER TABLE - modifie une table •DROP TABLE - supprime une table •CREATE INDEX - crée un index (clé de recherche) •DROP INDEX - supprime un index
  • 7. Télécharger ce cours sur www.krymo.comCe chapitre explique la commande SELECT et les requêtes SELECT *.Linstruction SQL SELECTLinstruction SELECT est utilisé pour sélectionner des données dans une base de données.Le résultat est stocké dans une table de résultats, appelé ensemble de résultats.Syntaxe SQL SELECTSELECT column_name(s)FROM table_nameetSELECT * FROM table_name Remarque: SQL nest pas sensible à la casse. SELECT est identique à celle de sélection.
  • 8. Télécharger ce cours sur www.krymo.comUn exemple SQL SELECTTable «Persons» :P_ID LastName FirstName Adress City Timoteivn 1 Hansen Ola Sandnes 10 2 Svendsen Tove Borgvn 23 Sandnes 3 Pettersen Kari Storgt 20 StavangerMaintenant, nous voulons sélectionner le contenu des colonnes nommées "Nom" et "Prénom" dans le tableau ci-dessus.On utilise linstruction SELECT suivante:SELECT LastName,FirstName FROM Personsrésultat:LastName FirstName Hansen Ola Svendsen Tove Pettersen Kari
  • 9. Télécharger ce cours sur www.krymo.comExemple: SELECT *Maintenant, nous voulons sélectionner toutes les colonnes de la «Personne» table.On utilise linstruction SELECT suivante:SELECT * FROM PersonsAstuce: Lastérisque (*) est un moyen rapide de sélectionner toutes les colonnes!P_ID LastName FirstName Adress City 1 Hansen Ola Timoteivn 10 Sandnes 2 Svendsen Tove Borgvn 23 Sandnes 3 Pettersen Kari Storgt 20 StavangerNavigation dans un result-setLa plupart des systèmes logiciels de bases de données permettent de naviguer dans le jeu de résultats avec des fonctions de programmation, tels que: Move-To-First-Registration, Registration-Get-Content-, move-to-Next-Registration, etc
  • 10. Télécharger ce cours sur www.krymo.comCe chapitre explique linstruction SELECT DISTINCT.Linstruction SELECT DISTINCT SQLDans une table, quelques-unes des colonnes peuvent contenir des valeurs dupliquées. Ce nest pas un problème, cependant, parfois, vous voulez inscrireseulement les différences de valeurs dans une table.Le mot-clé DISTINCT peut être utilisé pour renvoyer uniquement les valeurs distinctes .SELECT DISTINCT SyntaxeSELECT DISTINCT column_name(s)FROM table_nameExempleP_ID LastName FIrstName Adress City 1 Hansen Ola Timoteivn 10 Sandnes 2 Svendsen Tove Borgvn 23 Sandnes 3 Pettersen Kari Storgt 20 StavangerMaintenant, nous voulons sélectionner uniquement les valeurs distinctes de la colonne nommée "Ville" de la table ci-dessus.
  • 11. Télécharger ce cours sur www.krymo.comOn utilise linstruction SELECT suivante:SELECT DISTINCT City FROM Personsrésultat:City Sandnes Stavanger
  • 12. Télécharger ce cours sur www.krymo.comLa clause WHERELa clause WHERE est utilisée pour extraire uniquement les enregistrements qui répondent à un critère spécifié.Syntaxe SQL WHERESELECT column_name(s)FROM table_nameWHERE column_name operator valueExempleLaffaire «Personnes» de table:P_ID LastName FirstName Adress City 1 Hansen Ola Timoteivn 10 Sandnes 2 Svendsen Tove Borgvn 23 Sandnes 3 Pettersen Kari Storgt 20 Stavanger
  • 13. Télécharger ce cours sur www.krymo.comMaintenant, nous voulons sélectionner uniquement les personnes vivant dans la ville de "Sandnes" dans le tableau ci-avant.On utilise linstruction SELECT suivante:SELECT * FROM PersonsWHERE City=SandnesLensemble de résultats se présente comme suit:P_ID LastName FIrstName Adress City Timoteivn 1 Hansen Ola Sandnes 10 Borgvn 2 Svendsen Tove Sandnes 23Les guillemets autour des champs de texteSQL utilise des guillemets simples autour des valeurs de texte (la plupart des systèmes de bases de données les acceptera également ).Toutefois, les valeurs numériques ne doivent pas être mises entre-guillemets.Pour des valeurs de texte:This is correct:SELECT * FROM Persons WHERE FirstName=ToveThis is wrong:SELECT * FROM Persons WHERE FirstName=Tove
  • 14. Télécharger ce cours sur www.krymo.comPour les valeurs numériques:This is correct:SELECT * FROM Persons WHERE Year=1965This is wrong:SELECT * FROM Persons WHERE Year=1965Les opérateurs autorisés dans la clause WHEREAvec la clause WHERE, les opérateurs suivants peuvent être utilisés:Opérateur Description = Égal <> Ne sont pas égaux > Supérieure < Inférieur >= Supérieur ou égal <= Inférieur ou égal
  • 15. Télécharger ce cours sur www.krymo.comRemarque: ! Dans certaines versions de SQL de lopérateur <> peut être écrit =
  • 16. Télécharger ce cours sur www.krymo.comAND & OR sont utilisés pour filtrer les enregistrements basés sur plus dune condition.La opérateurs AND, ORLopérateur ET affiche un enregistrement à la fois si la condition première et la deuxième condition est vraie.Lopérateur OU affiche un enregistrement si lune de la première condition ou la deuxième condition est vraie.Exemple de lopérateur ANDTable «Persons» :P_ID LastName FirstName Adress City 1 Hansen Ola Timoteivn 10 Sandnes 2 Svendsen Tove Borgvn 23 Sandnes 3 Pettersen Kari Storgt 20 StavangerMaintenant, nous voulons sélectionner uniquement les personnes ayant le prénom égal à "Tove" ET le nom de famille égal à "Svendsen":On utilise linstruction SELECT suivante:SELECT * FROM PersonsWHERE FirstName=ToveAND LastName=Svendson
  • 17. Télécharger ce cours sur www.krymo.comrésultat:P_ID LastName FirstName Adress City 2 Svendsen Tove Borgvn 23 SandnesExempleMaintenant, nous voulons sélectionner uniquement les personnes ayant le prénom égal à "Tove" OU le prénom égal à "Ola":On utilise linstruction SELECT suivante:SELECT * FROM PersonsWHERE FirstName=ToveOR FirstName=Olarésultat:P_ID LastName FirstName Adress Town 1 Hansen Ola Timoteivn 10 Sandnes 2 Svendsen Tove Borgvn 23 Sandnes
  • 18. Télécharger ce cours sur www.krymo.comLa combinaison ET, OUVous pouvez également combiner ET et OU (utiliser des parenthèses pour former des expressions complexes).Maintenant, nous voulons sélectionner uniquement les personnes dont le nom est égal à "Svendsen" ET le prénom égal à "Tove» ou de «Ola»:On utilise linstruction SELECT suivante:SELECT * FROM Persons WHERELastName=SvendsonAND (FirstName=Tove OR FirstName=Ola)Le résultat se présente comme suit:P_ID LastName FirstName Adress City 2 Svendsen Tove Borgvn 23 Sandnes
  • 19. Télécharger ce cours sur www.krymo.comLe mot-clé ORDER BY est utilisée pour trier le jeu de résultats.La clause ORDER BYLe mot-clé ORDER BY est utilisée pour trier le jeu de résultats dune colonne spécifiée.Le mot-clé ORDER BY trie les enregistrements par ordre croissant par défaut.Si nous voulons trier les enregistrements dans un ordre décroissant, nous pouvons utiliser le mot-clé DESC.SQL ORDER BY SyntaxeSELECT column_name(s)FROM table_nameORDER BY column_name(s) ASC|DESC
  • 20. Télécharger ce cours sur www.krymo.comExempleTable «Persons» :P_ID Nom Prénom Adresse Ville 1 Hansen Ola Timoteivn 10 Sandnes 2 Svendsen Tove Borgvn 23 Sandnes 3 Pettersen Kari Storgt 20 Stavanger 4 Nilsen Tom Vingvn 23 StavangerMaintenant, nous voulons sélectionner toutes les personnes de la table ci-dessus, cependant, nous voulons trier les personnes par leur nom de famille.On utilise linstruction SELECT suivante:SELECT * FROM PersonsORDER BY LastName
  • 21. Télécharger ce cours sur www.krymo.comLe résultat se présente comme suit:P_ID LastName FIrstName Adress City 1 Hansen Ola Timoteivn 10 Sandnes 4 Nilsen Tom Vingvn 23 Stavanger 3 Pettersen Kari Storgt 20 Stavanger 2 Svendsen Tove Borgvn 23 SandnesORDER BY DESCExempleMaintenant, nous voulons sélectionner toutes les personnes de la table ci-dessus, cependant, nous voulons trier les personnes par leur nom de famille.On utilise linstruction SELECT suivante:SELECT * FROM PersonsORDER BY LastName DESCLensemble de résultats se présente comme suit:
  • 22. Télécharger ce cours sur www.krymo.comP_ID LastName FirstName Adress City2 Svendsen Tove Borgvn 23 Sandnes3 Pettersen Kari Storgt 20 Stavanger4 Nilsen Tom Vingvn 23 Stavanger1 Hansen Ola Timoteivn 10 Sandnes
  • 23. Télécharger ce cours sur www.krymo.comLinstruction INSERT INTO est utilisée pour insérer de nouveaux enregistrements dans une table.Linstruction INSERT INTOLinstruction INSERT INTO est utilisée pour insérer une nouvelle ligne dans une table.SyntaxeIl est possible décrire linstruction INSERT INTO sous deux formes.La première forme ne précise pas les noms de colonnes où les données seront insérées, que leurs valeurs:INSERT INTO table_nameVALUES (value1, value2, value3,...)La seconde forme spécifie à la fois les noms de colonnes et les valeurs à insérer:INSERT INTO table_name (column1, column2, column3,...)VALUES (value1, value2, value3,...)ExempleP_ID LastName FirstName Adress City
  • 24. Télécharger ce cours sur www.krymo.com 1 Hansen Ola Timoteivn 10 Sandnes 2 Svendsen Tove Borgvn 23 Sandnes 3 Pettersen Kari Storgt 20 StavangerMaintenant, nous voulons insérer une nouvelle ligne dans la table «Persons» .Nous utilisons linstruction SQL suivante:INSERT INTO PersonsVALUES (4,Nilsen, Johan, Bakken 2, Stavanger)Laffaire «Personnes» table maintenant ressembler à ceci:P_ID LastName FirstName Adress City 1 Hansen Ola Timoteivn 10 Sandnes 2 Svendsen Tove Borgvn 23 Sandnes 3 Pettersen Kari Storgt 20 Stavanger 4 Nilsen Johan Bakken 2 StavangerInsérez uniquement les données des colonnes spécifiéesIl est également possible dajouter seulement des données dans des colonnes spécifiques.Linstruction SQL suivante va ajouter une nouvelle ligne, mais seulement dans les colonnes "P_ID", "LastName" et "FirstName":INSERT INTO Persons (P_Id, LastName, FirstName)VALUES (5, Tjessem, Jakob)
  • 25. Télécharger ce cours sur www.krymo.comrésultat:P_ID Nom Prénom Adresse Ville 1 Hansen Ola Timoteivn 10 Sandnes 2 Svendsen Tove Borgvn 23 Sandnes 3 Pettersen Kari Storgt 20 Stavanger 4 Nilsen Johan Bakken 2 Stavanger 5 Tjessem JakobLinstruction UPDATELinstruction UPDATE est utilisée pour mettre à jour des enregistrements existants dans une table.
  • 26. Télécharger ce cours sur www.krymo.comSyntaxeUPDATE table_nameSET column1=value, column2=value2,...WHERE some_column=some_valueRemarque: La clause WHERE spécifie le ou les documents qui doivent être mis à jour. Si vous omettez la clause WHERE, tous les enregistrements seront mis àjour!ExempleP_ID LastName FirstName Adress City 1 Hansen Ola Timoteivn 10 Sandnes 2 Svendsen Tove Borgvn 23 Sandnes 3 Pettersen Kari Storgt 20 Stavanger 4 Nilsen Johan Bakken 2 Stavanger 5 Tjessem JakobMaintenant, nous voulons mettre à jour la personne »Tjessem, Jakob" .Nous utilisons linstruction SQL suivante:
  • 27. Télécharger ce cours sur www.krymo.comUPDATE PersonsSET Address=Nissestien 67, City=SandnesWHERE LastName=Tjessem AND FirstName=Jakobrésultat:P_ID LastName FirstName Adress City 1 Hansen Ola Timoteivn 10 Sandnes 2 Svendsen Tove Borgvn 23 Sandnes 3 Pettersen Kari Storgt 20 Stavanger 4 Nilsen Johan Bakken 2 Stavanger 5 Tjessem Jakob Nissestien 67 SandnesAttentionEtre prudent sur la mise à jour des dossiers. Si nous avions omis la clause WHERE dans lexemple ci-dessus, comme ceci:UPDATE PersonsSET Address=Nissestien 67, City=SandnesLe résultat serait:P_ID LastName FirstName Adress City
  • 28. Télécharger ce cours sur www.krymo.com 1 Hansen Ola Nissestien 67 Sandnes 2 Svendsen Tove Nissestien 67 Sandnes 3 Pettersen Kari Nissestien 67 Sandnes 4 Nilsen Johan Nissestien 67 Sandnes 5 Tjessem Jakob Nissestien 67 SandnesLinstruction DELETELinstruction DELETE est utilisée pour supprimer des lignes dans une table.SyntaxeDELETE FROM table_nameWHERE some_column=some_valueRemarque: Notez que la clause WHERE spécifie le ou les documents qui doivent être supprimés. Si vous omettez la clause WHERE, tous les enregistrementsseront effacés!
  • 29. Télécharger ce cours sur www.krymo.comExempleP_ID LastName FirstName Adress City 1 Hansen Ola Timoteivn 10 Sandnes 2 Svendsen Tove Borgvn 23 Sandnes 3 Pettersen Kari Storgt 20 Stavanger 4 Nilsen Johan Bakken 2 Stavanger 5 Tjessem Jakob Nissestien 67 SandnesMaintenant, nous voulons supprimer la personne »Tjessem, Jakob" dans la table.Nous utilisons linstruction SQL suivante:DELETE FROM PersonsWHERE LastName=Tjessem AND FirstName=Jakob
  • 30. Télécharger ce cours sur www.krymo.comrésultat:P_ID LastName FIrstName Adress City 1 Hansen Ola Timoteivn 10 Sandnes 2 Svendsen Tove Borgvn 23 Sandnes 3 Pettersen Kari Storgt 20 Stavanger 4 Nilsen Johan Bakken 2 StavangerSupprimer toutes les lignesIl est possible de supprimer toutes les lignes dune table sans supprimer la table. Cela signifie que la structure de la table, les attributs et les index serontintactes:DELETE FROM table_nameorDELETE * FROM table_nameRemarque: Soyez très prudent lors de la suppression denregistrements. Vous ne pourrez plus lannuler !