Maroc 100% help informtaique


Vous n'êtes pas connecté. Connectez-vous ou enregistrez-vous

quelque information consernant la langage SQL

Voir le sujet précédent Voir le sujet suivant Aller en bas  Message [Page 1 sur 1]

LE LANGAGE SQL
salut a tous Very Happy
c'est mon premiere sujet dans le forum de ma meilleur room Cool alors je veux commencer par un sujet important c'est de la langage important
SQL = Structured Query Language
On prononce S . Q . L . ou bien Sequel
Langage de manipulation de bases de données relationnelles inventé dans les années '70 par IBM et Dr. E.F. Codd
Popularisé par la cie ORACLE
Avantage est qu'il permet à des SGBD qui n'ont pas la même programmation de se parler - base de la technologie client-serveur
Une application client sur une platforme Win95 opérant Visual Basic peut aller chercher de l'information sur un serveur opérant sur une platforme H-P avec Oracle - le client envoie une commande SQL au serveur qui l'exécute et retourne le résultat
La deuxième raison pour apprendre SQL est que tous les SGBD l'utilisent dans leurs opérations internes
Pas tous les SGBD utilisent les GUI - dans certains cas, il faut que le programmeur code les requêtes - il y a encore beaucoups d'entreprises qui opèrent avec des SGBD plus anciens ( La Cité collégiale, par exemple) ou la connaissance du code SQL est requise

Pour tester nos commandes SQL nous allons passer par MS-Access et la base de données "Gestion". Notez qu'il y a quelques différences de syntaxe entre SQL Access et SQL ANSI mais ce sont des différences mineures.

Pour créer une requête SQL en Access il s'agit tout simplement de créer une requête normale en passant par le mode SQL plutôt que par l'Assistant-requête. On crée une nouvelle requête (il n'est pas nécessaire de spécifier les tables utilisées) et on exécute le mode SQL:

puis on entre la commande SQL appropriée et on l'exécute:


LES INSTRUCTIONS SQL
Le langage fonctionne avec une série d'instructions restreinte : il n'y a qu'environ 30 instructions en SQL
On peut utiliser des commandes SQL pour créer les tables, les modifier ou les enlever
CREATE TABLE nom_table (colonne1 type1, colonne2 type2, ...)
Ex: CREATE TABLE employe (numero string(5), nom string(20), salaire single, date_embauch date);
Les types de données communs sont:
INTEGER, SINGLE, DOUBLE, DATE, STRING(n), BOOLEAN

ALTER TABLE nom_table ADD (colonne type)
Ex: ALTER TABLE employe ADD (adresse string(30));
Notez qu'il n'y a pas de commande pour changer ou pour enlever une colonne

DROP TABLE nom_table
Ex: DROP TABLE employe;
Le DML
Les commandes DML servent à manipuler les données - les insérer, les changer ou les effacer dans les tables
INSERT INTO nom_table VALUES (valeur1, valeur2, ...)
Ex: INSERT INTO competence VALUES ('A111', 'COBOL', 15);


UPDATE nom_table SET colonne1 = valeur1, colonne2=valeur2
WHERE condition
Ex: UPDATE employe SET salaire=25000
WHERE numemp = 'A1111';
Ex: UPDATE employe SET salaire = salaire * 1.1
WHERE departement = 22;


DELETE FROM nom_table WHERE condition

Ex: DELETE FROM projets
WHERE p_datefin < date();

Les commandes d'interrogation :
SELECT colonne1, colonne2, ... FROM nom_table
WHERE condition

* = toutes les colonnes
SELECT * FROM projets;
SELECT Numero_projet, Titre, Budget FROM projets;
SELECT e_id, e_Nom FROM Employe ;
SELECT e_id AS "Numéro", e_Nom AS "Nom de famille"
FROM Employe ;

LA CLAUSE WHERE ...
OPÉRATEURS:
= > < >= <= <> ou != BETWEEN LIKE IN NOT




Supposons qu'il existe une table PRODUITS comme:
Produits
numprod
desc
prix
cout
EXEMPLES:
SELECT * FROM produits WHERE numprod = "A1234";
SELECT numprod, desc, prix FROM produits WHERE prix > 50;
SELECT numprod, prix, (prix * 1.1) FROM produits;
SELECT numprod, prix, cout, (prix -cout) AS "Profit"
FROM produits
WHERE numprod LIKE "A%";
SELECT numprod, desc, prix FROM produits
WHERE prix BETWEEN 50 AND 150;
SELECT numprod, desc FROM produits
WHERE numprod LIKE "A*";
SELECT numprod, desc FROM produits
WHERE numprod LIKE "A????";
* = chaîne de caractères
? = 1 caractère
SELECT numprod, desc FROM produits WHERE desc LIKE "%10%";
SELECT numprod, desc FROM produits
WHERE numprod IN ("A100", "A200", "B500", "D800");
Le AND et OR s'utilisent comme dans tous les autres langages:
SELECT * FROM produits
WHERE desc LIKE "A%" AND prix > 500;
SELECT ... AVEC FONCTIONS :
LES FONCTIONS:
+ - * /
COUNT MAX MIN AVG SUM
EXEMPLES:
SELECT MAX(prix) FROM produits; ' le plus grand prix
SELECT COUNT(*) FROM produits; ' le nombre de produits
SELECT COUNT(*) AS "Nombre avec gros profit" FROM produits
WHERE (prix - cout) > 50;
SELECT AVG(prix) FROM produits; 'le prix moyen
SELECT SUM(cout) FROM produits; ' la somme des coûts



DISTINCT identifie tous ceux qui sont différents
SELECT DISTINCT desc FROM produits;
Pour savoir si le fichier contient des DESC répétées:
SELECT COUNT(desc) FROM produits;
SELECT COUNT(DISTINCT desc) FROM produits;

LES FONCTIONS DE DATE:
Pour commencer à étudier les fonctions de date, on va dans l'Aide et on cherche pour: Date functions ou Fonctions: date et heure ou Functions: date and time
en Access, votre fonction la plus utile est DateDiff() et à partir de là: See also: Months, Years, etc.
NOW() ou DATE() retourne la date courante
DateDiff(intervale, date1, date2) retourne le temps entre 2 dates, exprimé selon l'intervale: en années, en mois, en heures, etc.

ETABLIR LA SEQUENCE D'AFFICHAGE:
UTILISE LA CLAUSE ORDER BY ...
SELECT numprod, prix FROM produits
ORDER BY prix ;
ASC spécifie en ordre croissant
DESC spécifie en ordre décroissant
si pas spécifié, c'est ASC

SELECT * FROM clients
ORDER BY nom, prenom;
liste en ordre de nom d'abord,
en ordre de prenom à l'intérieur des noms identiques
aurevoir jusqu'a un autre sujet Arrow

Voir le profil de l'utilisateur http://exotiker.megabb.com

Voir le sujet précédent Voir le sujet suivant Revenir en haut  Message [Page 1 sur 1]

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum