Crear una tabla
La clave primaria identifica cada tarea.
CREATE TABLE demo_tasks (
task_id NUMBER PRIMARY KEY,
title VARCHAR2(100 CHAR) NOT NULL
);
Consultas y comandos cortos para gestionar tablas, cambiar columnas y revisar el espacio en Oracle.
La clave primaria identifica cada tarea.
CREATE TABLE demo_tasks (
task_id NUMBER PRIMARY KEY,
title VARCHAR2(100 CHAR) NOT NULL
);
Las tareas existentes quedan con fecha de vencimiento nula.
ALTER TABLE demo_tasks ADD (due_on DATE);
El título pasa de admitir 100 a 200 caracteres.
ALTER TABLE demo_tasks MODIFY (title VARCHAR2(200 CHAR));
Actualiza también las consultas que usen el nombre anterior.
ALTER TABLE demo_tasks RENAME COLUMN due_on TO due_date;
Se pierden los valores de la columna. Oracle confirma los cambios de estructura automáticamente y ROLLBACK no recupera la columna.
ALTER TABLE demo_tasks DROP COLUMN due_date;
En SQL*Plus o SQLcl, DESCRIBE muestra columnas, tipos y si admiten nulos.
DESCRIBE demo_tasks
COMMIT guarda la inserción. La consulta busca la tarea por su clave primaria.
INSERT INTO demo_tasks (task_id, title) VALUES (1, 'Review documentation');
COMMIT;
SELECT task_id, title FROM demo_tasks WHERE task_id = 1;
Comprueba primero qué fila coincide con WHERE. Con autocommit desactivado, puedes elegir entre COMMIT y ROLLBACK tras revisar el resultado.
SELECT task_id, title FROM demo_tasks WHERE task_id = 1;
UPDATE demo_tasks SET title = 'Publish documentation' WHERE task_id = 1;
Suma el tamaño actual de los archivos de datos de cada tablespace. Los temporales quedan fuera y la consulta requiere acceso a 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;
El porcentaje usa el tamaño máximo posible, que puede incluir el crecimiento automático. Requiere acceso a la vista del diccionario.
SELECT tablespace_name, ROUND(used_percent, 1) AS used_pct
FROM dba_tablespace_usage_metrics
ORDER BY used_pct DESC;
Muestra el espacio asignado a la tabla de ejemplo en tu esquema. Los índices y los LOB se almacenan en segmentos aparte.
SELECT segment_name, ROUND(bytes / POWER(1024, 2), 1) AS allocated_mib
FROM user_segments
WHERE segment_name = 'DEMO_TASKS' AND segment_type = 'TABLE';