|
|
Définition de SQL
|
||
| SQL | SQL
est utilisé pour communiquer avec une base de données relationnelle.
Une base de données relationnelle est une base de donnée divisée
en unités logiques appelées tables. Les systèmes de base de données relationnelles résident sur des plates-formes mainframe ou client-serveur. Bien que l'on préfère en général le système client-serveur, l'utilisation toujours d'actualité des mainframe peut certainement se justifier par les besoins d'une entreprise. Cependant elles sont nombreuses à avoir récemment abandonné leurs systèmes mainframes au profit des systèmes client-serveur. Ce changement de cap est motivé par plusieurs raisons : ne pas se laisser dépasser par les nouvelles technologies, disposer d'une flexibilité accrue, d'une meilleure adéquation aux besoins... |
|
|
Initialiser une session SQL
|
||
| CONNECT DISCONNECT |
Durant
une session SQL des commandes SQL peuvent être saisies pour interroger
la base de données, manipuler les données qui s'y trouvent
et définir des structures comme les tables. Avec SQL vous pouvez par exemple, si vous êtes connecté en tant que UTILISATEUR1, faire appel à la commande CONNECT pour vous connecter à la base de données en tant que UTILISATEUR2. La session SQL de UTILISATEUR1 est implicitement déconnectée. CONNECT utilisateur@base_de_données Votre login et password sera demandé par sécurité. Avec DISCONNECT la session SQL prend fin. |
|
|
Principales commandes SQL
|
||
| Principales Commandes SQL |
|
|
|
Définir les structures d'une base de données
|
||
| DDL | Le
DDL est la partie de SQL qui permet de créer ou de restructurer les
objets de la base, comme la création ou la suppression d'une table. Voici les principales commandes DDL CREATE DATABASE - CREATE TABLE - ALTER TABLE DROP TABLE - CREATE INDEX - ALTER INDEX - DROP INDEX |
|
|
Manipuler les données
|
||
| DML | Voici
les principales commandes DML INSERT - UPDATE - DELETE |
|
|
Sélectionner les données
|
||
| DQL | Cette
commande est accompagnée de nombreuses clauses et options. Elle sert
à composer des requêtes avec une base de données relationnelle. Voici la commande DQL SELECT |
|
|
Langage de contrôle des données
|
||
| DCL | Les
commandes de contrôle des données permettent de contrôler
l'accès aux données de la base de données. Ces commandes servent principalement à créer des objects relatifs à l'accès utilisateur ainsi qu'au contrôle de la distribution des privilèges des utilisateurs. Voici les principales commandes DCL ALTER PASSWORD - GRANT - REVOKE - CREATE SYNONYM |
|
|
Commandes d'administration de données
|
||
| Commandes
d'administration de données |
Les
commandes d'administration de données permettent à l'utilisateur
de réaliser des audits et des analyses d'opérations dans la
base de données. Elles peuvent également servir à surveiller
les performances du système. Voici les principales commandes : START AUDIT - STOP AUDIT |
|
|
Commandes de contrôle transactionnel
|
||
| Commandes de contrôle transactionnel |
Gérer
les transactions de la base de données. Voici les principales commandes : COMMIT : Enregistre les transactions de la base de données ROLLBACK : Annule les transactions de la base de données SAVEPOINT : Crée des points ou on utilise ROLLBACK SET TRANSACTION : Donne un nom à une transaction |
|
|
Une valeur NULL
|
||
| NULL
& '' ou NOT NULL |
NULL
est le terme utilisé pour représenter une valeur absente.
Dans une table NULL est la valeur d'un champ
vide. La valeur NULL est différente
de la valeur zéro ou d'un champ contenant des espaces. On utilise
NULL ou '' 'NULL' ne représente pas une valeur NULL mais c'est est une chaîne littérale qui comprend les caractères N U L L NOT NULL rend la saisie du champ obligatoire. NULL est la valeur par défault d'une colonne. Il n'est donc pas nécessaire de la saisir dans l'instruction CREATE TABLE |
|
|
Types de données
|
||
| Données et Types de données |
Données à longueur fixe |
|
|
Gestion des objets et base de données
|
||
| Un
object de base de données sert à stocker des données. Téléchargement de Easy PHP 1.8 Apache PHP MySQL phpMyAdmin Un object de base de données sert à stocker des données. |
La
table se compose de lignes et de champs contenant les données, elle
utilise l'espace physique de la base de données et peut être
permanente ou temporaire. Un champ est une partie de la table à laquelle a été assigné un type de données spécifique. Les champs peuvent être définies comme NULL ou NOT NULL (saisie obligatoire). Une ligne est un enregistrement de données dans une table. L'INSTALLATION DE EASY PHP DEVIENT NECESSAIRE ! Créez la base de données SQL. Créez la table password. Type de données CHAR, caractères à longueur fixe. Type de données VARCHAR, caractères à longueur variable. Déterminer la taille d'une table Dans l'instruction CREATE TABLE, la clause STORAGE sert à déterminer la taille de la table initiale lors de sa création. Modifier une table Après sa création, il est possible de modifier une table avec la commande ALTER TABLE. On peut ajouter des colonnes avec ADD, en supprimer avec DROP. Copier une table existante Les champs sont identiques dans les deux tables. On peut copier tous les champs ou des champs spécifiques. On peut créer une table sur la base d'une requête avec SELECT. Création d'une table password_TMP depuis les informations de password avec le code SQL ci-dessous. Supprimer une table 'test' Contraintes d'intégrité, la clé primaire La clé primaire identifie un ou plusieurs champs d'une table pour créer des lignes de données uniques. Rappel de la table password que nous avons actuellement. Modification de password pour insérer la clé primaire. La clé primaire dans la table password sera ID_Identités. Vous pouvez recréer une table password en une fois. Dans le cas 1 la clé primaire est une contrainte implicite. Dans le cas 2 la clé primaire est une contrainte explicite. ![]() Contraintes uniques Une contrainte de champ unique est comparable à une clé primaire puisque la valeur située dans cette colonne doit être unique pour chaque ligne de données de la table. Contraintes sur la clé extérieur ![]() ID_joueur est la clé extérieur de table_enfant Cette clé référence le champ ID_joueur de la table joueur. Cette clé assure qu'il existe une ID_joueur dans la table joueur pour chaque ID_joueur de table_enfant. Il s'agit d'une relation parent/enfant. Contraintes de vérification Les contraintes de vérification servent à vérifier la validité des données saisies dans les champs de tables. Supprimer des contraintes Supprimer la contrainte de la clé primaire d'une table Oracle |
|
|
Le processus de normalisation
|
||
| Testez le langage SQL avec EasyPHP 1.8 | ||
|
Le processus de normalisation
|
||
|
Découvrez le langage SQL Prochaine modification avant le 7 avril |
||
|
Visiter le site
|
SQL | |
|
Exploitation des requêtes
|
||
| mysql_fetch_row mysql_fetch_array mysql_fetch_object mysql_num_rows |
Après
l'exécution d'une requête de sélection, les données
ne sont pas affichées, elles sont mises en mémoire. Les fonctions qui retournent un enregistrement sont : mysql_fetch_row mysql_fetch_array mysql_fetch_object Les exemples suivants partent d'une requête SQL : SELECT nom, prenom, date FROM membres mysql_fetch_row retourne un tableau. <? $enregistrement = mysql_fetch_row( $resultat ); // Affiche le champ - nom - echo $enregistrement[0] . '<br>'; // Affiche le champ - prenom - echo $enregistrement[1] . '<br>'; // Affiche le champ - date - echo $enregistrement[2] . '<br>'; ?> mysql_fetch_array retourne un tableau associatif. <? $enregistrement = mysql_fetch_array( $resultat ); // Affiche le champ - prenom - echo $enregistrement['prenom'] . '<br>'; // Affiche le champ - nom - echo $enregistrement['nom'] . '<br>'; // Affiche le champ - date - echo $enregistrement['date'] . '<br>'; ?> mysql_fetch_object retourne une structure (objet). <? $enregistrement = mysql_fetch_object( $resultat ); // Affiche le champ - date - echo $enregistrement->date . '<br>'; // Affiche le champ - nom - echo $enregistrement->nom . '<br>'; // Affiche le champ - prenom - echo $enregistrement->prenom . '<br>'; ?> mysql_num_rows retourne le nombre d'enregistrements L'ensemble des données sont affichées par une boucle. <? echo 'Il y a ' . mysql_num_rows( $resultat ) . ' membre(s)'; while( $enregistrement = mysql_fetch_array( $resultat )) { echo $enregistrement['nom'] . ' ' . $enregistrement['prenom']; echo ' ' . $enregistrement['date'] . '<br>' ; } ?> |
|
|
Travaillez sur MySQL, PHP, SQL avec EasyPHP
|
||
| EasyPHP Dernière Version |
Pour
travailler facilement sur MySQL, avec PHP et SQL, téléchargez
la dernière version de easyphp et installez la. Maintenant il faut lancer le gestionnaire et les serveurs. Un e apparait en bas à droite de votre écran. Faites un clic droit et cliquez sur Administration. Dans le dossier d'installation de easy PHP se trouve un dossier www. Faire un raccourci de ce dossier sur le bureau. Nous pouvons créer des scripts PHP dans ce dossier et y accéder avec le navigateur par l'adresse http://127.0.0.1 si le serveur easyphp est lancé! (http://127.0.0.1 peut être remplacé par localhost) Cliquez sur phpMyAdmin, Gestion BDD pour commencer à travailler sur la base de données MySQL à l'aide de SQL. |
|
|
Visiter le site
|
www.easyphp.org | |
|
Requête
|
||
| mysql_query | Utilisons
mysql_query la base étant déjà
sélectionnée. Quand on fait une requête de sélection, MySQL retourne les données et PHP les place en mémoire. En fin de script la mémoire est libérée et les données sont perdues. On veut avoir des informations sur le membre 'moustique'. <? $requete = "SELECT * FROM membres WHERE pseudo = 'moustique' "; $resultat = mysql_query( $requete ); ?> |
|
|
Gestion des erreurs
|
||
| mysql_error | Si
la requête n'a pas marché, c'est qu'il y a une erreur dans
la syntaxe de la requête. Il est important de pouvoir expliquer ce qui n'a pas marché. On utilise la fonction mysql_error. Cette fonction indique généralement l'erreur. <? $resultat = mysql_query( $requete ) or die ( 'Erreur dans la requête : ' . $requete . '<br>Avec l\'erreur : ' . mysql_error() ); ?> |
|