WIKI LWS - L'hébergeur Web accessible à tous WIKI LWS - L'hébergeur Web accessible à tous

SQL, le langage des bases de données

Vous vous êtes connecté à votre base de données, et maintenant?

Vous devez être capable de dire à votre base de données ce que vous voulez faire, et pour faire ceci, vous devez parler son langage. Toutes les bases de données relationnelles parlent dans un langage connu sous le nom de SQL, ou Structured Query Language. MS-SQL Server parle en SQL; Access parle an SQL; Oracle et Informix parlent en SQL. C'est intéressant de parler SQL!

SQL est fondamentalement bon pour plusieurs raisons: mise à jour / suppression / insertion d'information et la récupération d' information.

Récupération d' information.

Pour dire à une base que vous voulez récupérer quelques informations, vous devez fournir les informations suivantes: que colonne à récupérer et à partir de quelle table. C'est tout ce dont vous avez besoin, bien qu'il soit possible d'être plus spécifique. Par exemple, vous pouvez limiter les données à partir de certaines conditions de type booléen; nous traiterons ceci plus tard.

SELECT : Donc, le moyen de dire à votre base que vous voulez sélectionner une colonne à partir d'une base est d'utiliser une formulation SELECT. Une formulation SELECT prend la forme suivante:

SELECT ColumnList FROM TableName

ColumnList est une liste de colonnes délimitée par des virgules dans la table spécifiée par TableName. Pour sélectionner toutes les colonnes, utilisez le signe *. Maintenant, supposons que nous avons une base qui contient une table nommée Products, et Products possède 3 colonnes: ProductID, Name et Price. Si vous voulez récupérer tous les ProductID de tous les produits, vous devez seulement écrire cette requête:

SELECT ProductID FROM Products

C'est très simple. La chose à ne pas oublier avec les bases de données relationnelles est qu'un ensemble d'informations est retourné. Donc, dans l'exemple ci-dessus, nous récupérons tous les ProductID de la table Products. Si vous voulez récupérer toutes les colonnes de cette table, vous devez écrire la requête comme suit:

SELECT * FROM Products

Nous pouvons limiter l'ensemble des données retourné à partir d'une requête en utilisant la clause WHERE. La clause WHERE vient après TableName dans la clause FROM. Les formulations WHERE doivent évaluer des expressions régulières (expressions qui retournent soit vrai soit faux). Voici quelques exemples de formulations WHERE sur la table Products:

* Récupérer tous les noms de produit dont le prix est de 5 dollars: SELECT Name FROM Products WHERE Price = 5

* Récupérer tous les produits dont le prix est différent de 5 dollars: SELECT * FROM Products WHERE Price <> 5

* Récupérer tous les produits dont le prix est inférieur ou égal à 10 dollars: SELECT * FROM Products WHERE Price < 10

* Récupérer le prix de tous les produits dont le nom est "Chair": SELECT Price FROM Products WHERE Name = "Chair"

Il existe de nombreuses autres clauses dans la formulation de SELECT qui sont optionnelles ( Attention: SELECT et FROM sont obligatoires).

Mise à jour / Insertion / Suppression de données

Nous devons trouver un moyen pour insérer des données dans une base, un moyen pour les sortir et un moyen pour les modifier. Pour le faire, nous avons juste besoin de 3 formulations SQL: UPDATE, INSERT et DELETE. Vous devez faire très attention avec ces 3 possibilités, et gardez à l'esprit que les bases de données relationnelles traitent avec des ensembles de données, pas des éléments individuels de données.

UPDATE :

La formulation UPDATE est très simple:

UPDATE TableName SET ColumnName = Value [WHERE …]

La partie Where est très importante. Si vous ne l'utilisez pas, vous dites au fond à la base de mettre à jour TOUTES les lignes de la table TableName. Donc, en rapport avec notre exemple Products:

UPDATE Products SET Price = 5

Ainsi tous les produits auront leur prix à 5. Ce n'est probablement ce que vous vouliez faire. En utilisant la clause WHERE, nous pouvons mettre à jour une seule ligne ou un petit ensemble de lignes.

UPDATE Products SET Price = 5 WHERE Name = "Chair"

Nous pouvons aussi mettre à jour tous les produits dont le nom était Chair avec un prix de 5 dollars. Vous pouvez mettre à jour plus d'une colonne en même temps, délimitez juste la liste avec des virgules:

UPDATE Products SET PRice = 5, Name = "Chair" WHERE ProductID = 4

DELETE La formulation DELETE possède une syntaxe similaire à celle de UPDATE:

DELETE FROM Products

Toutes les données dans la table devraient disparaître. Peut-être voulez-vous plus faire ceci:

DELETE FROM Products WHERE Price > 100

Celle-ci supprimera tous les produits qui ont un prix supérieur à 100 dollars. Ou peut-être voulez-vous juste supprimer le produit dont le numéro est 88:

DELETE FROM Products WHERE ProductID = 88

Dans tous les cas, soyez précautionneux en utilisant DELETE!

Insert La formulation INSERT est un peu plus difficile. Il existe 2 formes de formulation, mais je ne parlerai que d'une ici.

INSERT INTO TableName (ColumnList) VALUES (ValueList)

ColumnList est une liste de colonnes délimitée par des virgules d'une table dans n'importe quel ordre. ValueList est une liste de valeurs délimitée par des virgules correspondant aux colonnes spécifiées dans ColumnList. Voici un exemple rapide:

INSERT INTO Products (ProductID, Name, Price) VALUES (10, "Sofa", 90)

Cela ajoutera une ligne à la table Products avec 10 comme numéro de produit, "Sofa" comme nom et 90 dollars comme prix. Assurez-vous juste que vos valeurs de ColumnList et ValueList soient compatibles. Par exemple, si votre ColumnList est ProductID, Name, Price, assurez-vous que ValueList possède bien les valeurs que vous voulez insérer.

Maintenant vous possédez une meilleure connaissance du langage nécessaire pour communiquer avec des bases de données!

Bonne programmation!

Cette page d'aide vous a-t-elle été utile ?

Aidez-nous à améliorer notre aide en notant cette page :

 stars  0 votes (Details)
sql_le_langage_des_bases_de_donnees.txt · Dernière modification: 2012/12/18 17:38 (modification externe)
 
Sauf mention contraire, le contenu de ce wiki est placé sous la licence suivante : CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki