0% ont trouvé ce document utile (0 vote)
59 vues11 pages

Langage de Définition de Données

Transféré par

javonornella
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
59 vues11 pages

Langage de Définition de Données

Transféré par

javonornella
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

SQL

Langage de définition de données


Créer une base de données

CREATE DATABASE nom_bd;

Créer un utilisateur.

CREATE USER nom_user IDENTIFIED BY password;

Créer une table

CREATE TABLE nom_table(


colonne1 type(taille) Contraintes,
colonne2 type,
colonneN type(taille),
...
);

CREATE TABLE nom_table(


colonne1 type(taille),
colonne2 type,
colonneN type(taille),
...,
Contrainte1,
Contrainte2,
...
);

# Contraintes d'intégrité
# PRIMARY KEY (Clé primaire)
# FOREIGN KEY (Clé étrangère)
# UNIQUE (Clé unique)
# NOT NULL (Non null)
# CHECK (Vérification)

SQL 1
# Les types de données
# NUMBER(20,2), INTEGER, VARCHAR2(taille), FLOAT(taille), C
HAR(taille), NCHAR(taille),
# NVARCHAR2(taille), DATE, TIMESTAMP, LONG, BOOLEAN, ENUM
('valeur1','valeur2')

Créer une vue

CREATE VIEW nom_vue AS SELECT colonne1, colonne2, ... ;

Créer un index

CREATE INDEX nom_index ON table(colonne1, colonne2, ...);

Supprimer une base de données

DROP DATABASE nom_base;

Supprimer un utilisateur

DROP USER nom_user;

Supprimer une table

DROP TABLE nom_table;

Supprimer un vue

DROP VIEW nom_view;

Supprimer un index

DROP INDEX nom_index;

Ajouter une colonne dans une table

SQL 2
ALTER TABLE nom_table ADD nom_colonne type(taille) Contrain
te;

Modifier une colonne

ALTER TABLE nom_table MODIFY nom_colonne type(taille) Contr


ainte;

Renommer une colonne

ALTER TABLE nom_table RENAME COLUMN ancienne_nom_colonne TO


nouvelle_nom;

Supprimer une colonne

ALTER TABLE nom_table DROP nom_colonne;

Ajouter une contrainte

ALTER TABLE nom_table ADD CONSTRAINT nom_contrainte Contrai


nte;

Exemple:
ALTER TABLE customers ADD CONSTRAINT pk_id PRIMARY KEY (i
d);

ALTER TABLE orders ADD CONSTRAINT fk_orders_customers_id FO


REIGN KEY (customer_id) REFERENCES customers(id);

ALTER TABLE orders ADD CONSTRAINT fk_orders_customers_id FO


REIGN KEY (customer_id) REFERENCES customers(id) ON DELETE
CASCADE ON UPDATE CASCADE;

ALTER TABLE orders ADD CONSTRAINT fk_orders_customers_id FO


REIGN KEY (customer_id) REFERENCES customers(id) ON UPDATE
RESTRICT ON DELETE RESTRICT;

SQL 3
ALTER TABLE clients ADD CONSTRAINT ux_id UNIQUE (telephon
e);

ALTER TABLE clients ADD CONSTRAINT ck_age UNIQUE (age >= 1


8);
etc...

Supprimer une contrainte

ALTER TABLE nom_table DROP nom_contrainte;

Modifier un utilisateur

ALTER USER username [IDENTIFIED BY new_password] [ACCOUNT L


OCK | ACCOUNT UNLOCK] [DEFAULT TABLESPACE tablespace_name]
[TEMPORARY TABLESPACE tablespace_name] [QUOTA UNLIMITED | i
nteger {K | M | G} ON tablespace_name];

Obtenir la structure d’une table, d’une vue, d’une procédure, d’une fonction

DESCRIBE nom_objet;

Vider une table

TRUNCATE TABLE nom_table;

Langage de contrôle de données


Accorder des droits ou privilèges à un utilisateur

GRANT privilege_systeme TO utilisateur;


GRANT privilege_objet ON nom_objet TO utilisateur;

GRANT CONNECT TO nom_user; # De se connecter


GRANT CREATE SESSION TO nom_user; # De créer une session

SQL 4
GRANT CREATE TABLE TO nom_user; # De créer une table
GRANT CREATE VIEW TO nom_user; # De créer une vue
GRANT CREATE SEQUENCE TO nom_user; # De créer une séquence
GRANT CREATE PROCEDURE TO nom_user; # De créer une procédur
e
GRANT CREATE TRIGGER TO nom_user; # De créer un trigger
GRANT CREATE USER TO nom_user; # De créer un utilisateur

Révoquer les droits

REVOKE privilege_systeme FROM utilisateur;


REVOKE privilege_objet ON nom_objet FROM utilisateur;

Langage de manipulation de données


Insérer une ligne de données

INSERT INTO nom_table VALUES(valeur1, valeur2, ...); # Suiv


re l'ordre des colonnes pour l'insertion des valeurs

INSERT INTO nom_table(col1, col2, ...) VALUES(valeur1, vale


ur2, ...);

Modifier une ligne de données

UPDATE nom_table
SET col1 = nouvelle_valeur1, col2 = nouvelle_valeur2, …, co
lN = nouvelle_valeurN
WHERE conditions;

Supprimer une ligne de données

DELETE FROM nom_table;

DELETE FROM nom_table


WHERE condition;

SQL 5
Lister ou sélectionner

Basique

SELECT colonne1, colonne2, ...


FROM nom_table;

DISTINCT

SELECT DISTINCT colonne1, colonne2, ...


FROM nom_table;

AS (Alias)

SELECT colonne1 AS c1, colonne2, ...


FROM nom_table AS tb;

WHERE

SELECT colonne1, colonne2, ...


FROM nom_table
WHERE conditions;

AND et OR

SQL 6
SELECT colonne1, colonne2, ...
FROM nom_table
WHERE condition1 AND condition2;

SELECT colonne1, colonne2, ...


FROM nom_table
WHERE condition1 OR condition2;

SELECT colonne1, colonne2, ...


FROM nom_table
WHERE condition1 AND (condition2 OR condition3);

IN

SELECT colonne1, colonne2, ...


FROM nom_table
WHERE colonne2 IN (valeur1, valeur2, ...);

BETWEEN

SELECT colonne1, colonne2, ...


FROM nom_table
WHERE colonne1 BETWEEN valeur1 AND valeur2;

LIKE

SELECT colonne1, colonne2, ...


FROM nom_table
WHERE colonne1 LIKE modele;

SQL 7
IS NULL / IS NOT NULL

SELECT colonne1, colonne2, ...


FROM nom_table
WHERE colonne1 IS NULL / IS NOT NULL;

GROUP BY

SELECT colonne1, colonne2, ..., function(colonne)


FROM nom_table
GROUP BY colonne1, colonne2, ...;

HAVING

SELECT colonne1, colonne2, ..., function(colonne)


FROM nom_table
GROUP BY colonne1, colonne2, ...;
HAVING function(colonne) operateur valeur;

ORDER BY

SQL 8
SELECT colonne1, colonne2, ...
FROM nom_table
ORDER BY colonne1;

SELECT colonne1, colonne2, ...


FROM nom_table
ORDER BY colonne1 DESC;

SELECT colonne1, colonne2, ...


FROM nom_table
ORDER BY colonne1 ASC;

SELECT colonne1, colonne2, ...


FROM nom_table
ORDER BY colonne1 DESC, colonne2 ASC;

CASE

CASE
WHEN a = b THEN 'A égal à B'
WHEN a > b THEN 'A supérieur à B'
ELSE 'A inférieur à B'
END

CASE
WHEN a = 1 THEN 'un'
WHEN a = 2 THEN 'deux'
WHEN a = 3 THEN 'trois'
ELSE 'autre'
END

SELECT colonne1, CASE


WHEN colonne2 =
1 THEN 'un'
WHEN colonne2 =
2 THEN 'deux'
WHEN colonne2 =
3 THEN 'trois'

SQL 9
ELSE 'autre'
END AS nom_alias
FROM nom_table;

UNION

SELECT colonne1, colonne2 FROM nom_table1


UNION
SELECT colonne1, colonne2 FROM nom_table2

INTERSECT

SELECT colonne1, colonne2 FROM nom_table1


INTERSECT
SELECT colonne1, colonne2 FROM nom_table2

Jointure (INNER JOIN)

SELECT colonnes
FROM nom_table1
JOIN nom_table2 ON nom_table1.id = nom_table2.fk_id;

Jointure (RIGHT JOIN)

SELECT colonnes
FROM nom_table1
RIGHT JOIN nom_table2 ON nom_table1.id = nom_table2.fk_i
d;

Jointure (LEFT JOIN)

SELECT colonnes
FROM nom_table1
LEFT JOIN nom_table2 ON nom_table1.id = nom_table2.fk_i
d;

Requêtes impriquées

SQL 10
SELECT *
FROM nom_table1
WHERE nom_colonne = (
SELECT colonne
FROM nom_table2
WHERE conditions
);

SELECT *
FROM nom_table1
WHERE nom_colonne IN (
SELECT colonne
FROM nom_table2
WHERE conditions
);

SQL 11

Vous aimerez peut-être aussi