Aller au contenu

Page SQL

Lien pour la documentation

doc pour sql

I. Ecrire votre propre code, puis l'exécuter⚓︎



II. Du code pré-rempli :⚓︎



Attention

Par défaut SQLite ne vérifie pas l’intégrité des contraintes de clef étrangères. Il faut lui dire explicitement de le faire avec PRAGMA foreign_keys=1;

III. Initialisation d'un IDE avec du code caché :⚓︎

Code du fichier caché donné par init= :

ce qui est caché
-- Pour la vérification de l'intégrité des contraintes de clé étrangère : 
PRAGMA foreign_keys=1;

-- Pour créer la table
DROP TABLE IF EXISTS employees;
CREATE TABLE employees
(
    id          integer,
    name        text,
    designation text,
    manager     integer,
    hired_on    date,
    salary      integer,
    commission  float,
    dept        integer
);

INSERT INTO employees VALUES (1,'JOHNSON','ADMIN',6,'1990-12-17',18000,NULL,4);
INSERT INTO employees VALUES (2,'HARDING','MANAGER',9,'1998-02-02',52000,300,3);
INSERT INTO employees VALUES (3,'TAFT','SALES I',2,'1996-01-02',25000,500,3);
INSERT INTO employees VALUES (4,'HOOVER','SALES I',2,'1990-04-02',27000,NULL,3);
INSERT INTO employees VALUES (5,'LINCOLN','TECH',6,'1994-06-23',22500,1400,4);
INSERT INTO employees VALUES (6,'GARFIELD','MANAGER',9,'1993-05-01',54000,NULL,4);


IV. Utilisation d'une base de donnée :⚓︎

Base et init ne peuvent pas être utilisés en même temps

Le code caché auto-exécuté indique la base de donnée utilisée livres, et le code PRAGMA foreign_keys=1;



La ligne ci-dessus montre que le code caché s'est bien exécuté.

Exemple

Combien de livres contiennent la chaîne "Astérix" dans leur titre ?



Peut-on supprimer n’importe quelle ligne ?

Essayons de supprimer le livre "Hacker's Delight" sachant que son code ISBN est 978-0201914658



Le SGBD nous indique que supprimer ce livre, violerait la contrainte de clé étrangère. En effet, le code isbn est une clé étrangère dans la table auteur_de.