Créer une table
La clé primaire identifie chaque tâche.
CREATE TABLE demo_tasks (
task_id NUMBER PRIMARY KEY,
title VARCHAR2(100 CHAR) NOT NULL
);
Requêtes et commandes Oracle courtes pour gérer les tables, modifier les colonnes et vérifier l’espace.
La clé primaire identifie chaque tâche.
CREATE TABLE demo_tasks (
task_id NUMBER PRIMARY KEY,
title VARCHAR2(100 CHAR) NOT NULL
);
Les tâches existantes ont une échéance nulle.
ALTER TABLE demo_tasks ADD (due_on DATE);
Le titre peut désormais contenir 200 caractères au lieu de 100.
ALTER TABLE demo_tasks MODIFY (title VARCHAR2(200 CHAR));
Mettez également à jour les requêtes qui utilisent l’ancien nom.
ALTER TABLE demo_tasks RENAME COLUMN due_on TO due_date;
Les valeurs de la colonne sont perdues. Oracle valide automatiquement les changements de structure et ROLLBACK ne restaure pas la colonne.
ALTER TABLE demo_tasks DROP COLUMN due_date;
Dans SQL*Plus ou SQLcl, DESCRIBE affiche les colonnes, leurs types et l’autorisation des valeurs nulles.
DESCRIBE demo_tasks
COMMIT valide l’insertion. La requête retrouve la tâche par sa clé primaire.
INSERT INTO demo_tasks (task_id, title) VALUES (1, 'Review documentation');
COMMIT;
SELECT task_id, title FROM demo_tasks WHERE task_id = 1;
Vérifiez d’abord quelle ligne correspond à WHERE. Avec la validation automatique désactivée, choisissez COMMIT ou ROLLBACK après vérification.
SELECT task_id, title FROM demo_tasks WHERE task_id = 1;
UPDATE demo_tasks SET title = 'Publish documentation' WHERE task_id = 1;
Additionne la taille actuelle des fichiers de données de chaque tablespace. Les tablespaces temporaires sont exclus et la requête nécessite l’accès à DBA_DATA_FILES.
SELECT tablespace_name, ROUND(SUM(bytes) / POWER(1024, 2), 1) AS allocated_mib
FROM dba_data_files
GROUP BY tablespace_name
ORDER BY allocated_mib DESC;
Le pourcentage se base sur la taille maximale possible, qui peut inclure l’extension automatique. Il faut avoir accès à la vue du dictionnaire.
SELECT tablespace_name, ROUND(used_percent, 1) AS used_pct
FROM dba_tablespace_usage_metrics
ORDER BY used_pct DESC;
Affiche l’espace alloué à la table d’exemple dans votre schéma. Les index et les LOB sont stockés dans des segments distincts.
SELECT segment_name, ROUND(bytes / POWER(1024, 2), 1) AS allocated_mib
FROM user_segments
WHERE segment_name = 'DEMO_TASKS' AND segment_type = 'TABLE';