CREATE OR REPLACE DATABASE school; CREATE TABLE school.teachers ( employee_number INT AUTO_INCREMENT KEY, name VARCHAR(200) NOT NULL, email VARCHAR(200) UNIQUE NOT NULL, birthday DATE NOT NULL ); CREATE TABLE school.courses ( code CHAR(10) NOT NULL, credits DOUBLE(3,2) NOT NULL DEFAULT 1, name VARCHAR(200) NOT NULL, description VARCHAR(1000), teacher INT NOT NULL, semester CHAR(5) NOT NULL ); INSERT INTO school.teachers (employee_number, name, email, birthday) VALUES (1, 'James', 'jhoffman@cshawi.ca', '1990-01-01'), (2, 'Mathieu', 'mstyves@cshawi.ca', '1980-02-02'), (3, 'Stevens', 'sgagnon@cshawi.ca', '1970-03-03'), (4, 'Marco', 'mguilmette@cshawi.ca', '1975-04-04'); INSERT INTO school.courses(code, credits, name, description, teacher, semester) VALUES ('420-0Q4-SW', 2, 'Initiation à la profession', NULL, 1, 'A2021'), ('420-0Q4-SW', 2, 'Initiation à la profession', NULL, 1, 'A2020'), ('420-0Q7-SW', 2.33, 'Base de données 1', NULL, 1, 'A2021'), ('420-2SS-SW', 2, 'Développement d''applications mobiles', NULL, 1, 'A2021'), ('420-2SS-SW', 2, 'Développement d''applications mobiles', NULL, 1, 'A2020'), ('420-0Q7-SW', 2.33, 'Base de données 1', NULL, 2, 'A2021'), ('420-2SS-SW', 2, 'Développement d''applications mobiles', NULL, 2, 'A2020'), ('420-0SU-SW', 1.33, 'Web: Client 1', NULL, 2, 'A2021'), ('420-2SU-SW', 2.33, 'Web: Serveur 2', NULL, 2, 'A2021'), ('420-1SY-SW', 2.66, 'Analyse objet', NULL, 2, 'A2021'), ('420-0SV-SW', 1.66, 'Échange de données 1', 'Développement d''applications client-serveur', 3, 'A2021'), ('420-1SX-SW', 1.66, 'Robotique', 'Programmer un robot pour suivree un tracé', 3, 'A2021');
UPDATE table_name SET column_name1={ expression | DEFAULT} [, column_name2={ expression | DEFAULT}, ...] [WHERE where_condition] [ORDER BY ...] -- Pour trier avant d'appliquer le LIMIT [LIMIT rows_count] -- Appliquer seulement aux rows_count premiers enregistrements
ATTENTION Si aucun WHERE n'est fourni, TOUS les enregistrements seront modifiés
WHERE
📚 Documentation
SELECT * FROM school.courses; UPDATE school.courses SET description = 'N/A', -- Valeur name = UPPER(name), -- Fonction credits = (credits * 2); -- Calcul UPDATE school.courses SET teacher = 4 WHERE teacher = 1; -- Condition, Marco(4) remplacera James(1) SELECT * FROM school.courses;
DELETE FROM table_name [WHERE where_condition] [ORDER BY ...] -- Pour trier avant d'appliquer le LIMIT [LIMIT rows_count] -- Appliquer seulement aux rows_count premiers enregistrements [RETURNING column_def [, column_def ...]] -- Permets de SELECT les enregistrements supprimés -- RETURNING ne fonctionne PAS avec SQLectron 1.37.1, utiliser cmd ou Beekeeper Studio
ATTENTION Si aucun WHERE n'est fourni, TOUS les enregistrements seront supprimés
DELETE
SELECT
TRUNCATE TABLE table_name
SELECT * FROM school.courses; DELETE FROM school.courses WHERE teacher = 3 -- Supprime les cours de Stevens(3) RETURNING code, UPPER(name) as `nom`, credits; -- Les cours supprimés DELETE FROM school.courses; -- Vide la table SELECT * FROM school.courses; SELECT * FROM school.teachers; DELETE FROM school.teachers ORDER BY employee_number DESC LIMIT 1; -- Supprime l'enseignant avec le numero le plus élevé SELECT * FROM school.teachers;