Achetez et vendez votre matériel multimédia d'occasion sur notre service de petites annonces informatiques gratuites

Les bases du SQL

Tutoriaux > PHP / MySQL > Les bases du SQL

Les bases du SQL
Création de tables, Insertion de données dans ces tables ...

Je vous explique dans ce tutorial les bases du SQL , le SQL étant un domaine très vaste et qui peut devenir très compliqué.

Sur le Web, on utilise MySql , MySql ne contient pas ce que d'autres bases de données ont, c'est a dire , avec MySql il est impossible de faire :

- Des Triggers
- Des procédures stockées

Commençons par l'essentiel :

La création de table, ici je vous mets un exemple assez simple d'une table d'utilisateurs.

Code

Create table Users{
Id int(10) not null,
Pseudo varchar(30) not null,
Password varchar(10) not null,
Pays varchar(25) not null,
Code postale int(9),
Email varchar(40) not null};



Voilà, ici nous avons une simple table d'utilisateurs, je vais vous expliquer un minimum la syntaxe :

- Create Table Users , Users étant le nom de votre table.
- id int(10) not null , id est le nom du champ , int(10) le type et sa taille , not null est une contrainte qui vous permet de spécifier que une insertion ne peut pas être faite si le champ est vide.
int(10) : integer(nombre entier) de longueur 10 maximum (Attention pas de Valeur 10 mais de longueur 10 ex : 1111111111 )
varchar(30) : varchar(caractère) toujours la longueur maximum entre parentheses.
Il existe beaucoup d'autres types que je n'expliquerai pas ici car la plupart d'entre vous utiliserons PHPMyAdmin qui donne une liste déroulante de types.

Insertions de données dans la table.

Code

insert into Users (Id,Pseudo,Password,Pays,Code,Email) values (1,'Seb','123456f','Belgique','1440','machin@truc.com');



Explications de la syntaxe :

insert into[inserer dans] Users[la table Users] [dans les champs](.......) values[les valeurs] (......);[toujours un point virgule pour terminer une requete]
Attention les champs de caractéres doivent etre inserer entre deux ' mais pas les nombres.
Quand vous faites une insertions vous n'etes pas obliger d'inclure les champs qui n'ont pas etes defini comme not null.

Le Select , vous permet de selectionner une table ou certains champs d'une table ou meme de faire une jointure entre deux tables pour en affiché le resultat ! Et oui avec le select on fais ce qu'on veutSourire

La plus simple des commandes est : Select * from Users;
Cela vous selectionne toute la table Users.
Vous pouvez aussi ne selectionner que certains champs de cette table : Select Pseudo,Email from Users;
Vous n'aurez la que les champs Pseudo et Emails de selectionnés.
Vous pouvez aussi y ajouter un ou des critéres de sélection : Select Pseudo,Email from Users where Pays='Belgique';
Il selectionnera le Pseudo et l'Email de toutes les personnes residant en Belgique.
Ou encore : Select Pseudo,Email from Users where Pays='Belgique' and Code=1440;
Il vous selectionnera alors le Pseudo et L'Email de toutes les personnes residant en belgique et plus precisement ayant le code postale 1440.
Maintenant la Jointure ! hehe du tout bon caSourire
Je vous presente deux tables :

1ère table , notre table Users :

Code

Id Pseudo Password Pays Code Email
1 Seb 123456f Belgique 1440 machin@truc.com
...



2ème table, une table d'avatars qui se nomme Avatars :

Code

IdUsers NomAvatar UrlAvatar
1 Linux http://www.truc.com/linux.jpg
...



Maintenant nous allons joindre ces deux tables pour les avoir dans un seul Select !

Code

Select * from Users join Avatars where Users.id=Avatars.idUser;



Quelques précisions, pour pouvoir joindre ces deux tables il faut qu'elles aient un champ commun , il s'agit ici de Id et IdUsers , si il n'y pas de champs communs , il y auras pas de jointure possible!
Donc ici nous obtenons dans notre Select ceci :

Code

Id Pseudo Password Pays Code EMail NomAvatar UrlAvatar
...
...



Voila je vais m'arrêter la car les possibilités du select sont infinies.

La commande update, elle sert a mettre a jour un tuple(une ligne) d'une table.
exemple : Update Users set Pseudo='Seba' where Id=1;
Grace a cette commande nous venons de changer le Pseudo de Seb en Seba, la syntaxe est assez simple comme vous pouvez le voir,
Update [nomtable] set [nomchamp] where [le champ utilisé pour identifier le tuple]
Vous pouvez bien sûr changer plusieurs champs en une seule commande :
Update Users set Pseudo='Seba' and Pays='France' where Id=1;

La commande Delete a une syntaxe très très simple :
Delete From Users where Id=1;
Cette commande supprimera le ou les tuples où l'id est égale a 1.

Vous en savez grâce a ce tuto un minimum pour faire des requetes SQL , mais attention , je n'aborde ici que les requetes simples de base ! Vous pouvez trouver des livres de 200 pages rien que sur le SQLSourire

PS: Ceci est un texte d'aide et non un texte à copier-coller sur d'autres sites ou Forums

Par 1 , Le 01 Août 2004 à 08h08
Ce tutoriel est la propriété d'Aidoweb et ne peut en aucun cas être copié.

Retour à PHP / MySQL

Ajouter un commentaire

Votre pseudo (sera publié). Inscrivez vous pour garder une trace de vos participations.

Tapez votre commentaire dans le cadre ci-dessous.

Code de vérification :
Code de vérification
Recopiez le code :

Lectures recommandées

Commentaires sur cet article

and - Le 30 Août 2011 à 10h29

rest

TRENT - Le 05 Septembre 2006 à 10h14

Pas très complet, tu n'explique que les Users join niveau Jointures, tu ne présise pas de quelle manière faire en sorte de lié 2 tables avec des champs en commun, etc...

Le tutoriel est relativement bien expliqué mais manque cruellement d'informations.

Tutoriaux > PHP / MySQL > Les bases du SQL