Linboost.org

Les Tutoriaux de Linboost.org

SQL
Je vous explique dans ce tuto les base du SQL , le SQL est un domaine tres vaste et qui peut devenir tres 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 clefs étrangeres
- Des Triggers
- Des procédures stockées

Commençons par l'essentiel :

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

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};

Voila ici nous avons une simple table d'utilisateurs, je vais vous expliquez un minimum la syntaxe :

- Create Table Users , Users etant 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 specifier que une insertion ne peut pas etre 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(caractere) toujours la longueur maximum entre parentheses.
Il existe beaucoup d'autres type que je n'expliquerai pas ici car la plupard d'entre vous utiliserons PHPMyAdmin qui donne une liste déroulante de types.

Insertions de données dans la table.

insert into Users (Id,Pseudo,Password,Pays,Code,Email) values (1,'Seb','123456f','Belgique','1440','[email protected]');

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 veut :)

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 ca :)
Je vous presente deux tables :

1er table , notre table Users :

Id Pseudo Password Pays Code Email
1 Seb 123456f Belgique 1440 [email protected]
...

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

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

Maintenant nous allons joindre ces deux tables pour les avoirs dans un seul Select !
Select * from Users join Avatars where Users.id=Avatars.idUser;
Quelques précisions, pour pouvoir joindre ces deux tables il faut qu'elle ai 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 :

Id Pseudo Password Pays Code EMail NomAvatar UrlAvatar
...
...
Voila je vais m'arreter 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 biensur changer plusieurs champ en une seule commande :
Update Users set Pseudo='Seba' and Pays='France' where Id=1;

La commande Delete a une syntaxe tres tres simple :
Delete From Users where Id=1;
Cette commande supprimera le ou les tuples ou id est égale a 1.

Valid HTML 4.01! Valid CSS!

Apache Mysql PhpMyAdmin Linux

Copyright © 2004 by Linboost.org. All Rights Reserved, All the comments and Marks are property of their authors.