HDP115

Comandos DDL en SQL

Aprende sobre los comandos de Data Definition Language (DDL) en SQL para definir y modificar la estructura de la base de datos.

CE

Cristian Escalante

Última actualización: 10 de mayo de 2025

sql
programación
desarrollo

Comandos DDL en SQL

El Lenguaje de Definición de Datos (DDL - Data Definition Language) es un subconjunto de SQL utilizado para definir y modificar la estructura de los objetos en una base de datos. Los comandos DDL no manipulan los datos en sí, sino la estructura que contiene esos datos.

CREATE

El comando CREATE se utiliza para crear nuevos objetos en la base de datos. Los objetos más comunes que se crean son tablas, vistas, índices, esquemas y bases de datos.

CREATE DATABASE

CREATE DATABASE nombre_base_datos;

CREATE TABLE

CREATE TABLE nombre_tabla (
    columna1 tipo_dato [restricciones],
    columna2 tipo_dato [restricciones],
    ...
    [restricciones_tabla]
);

CREATE INDEX

CREATE [UNIQUE] INDEX nombre_indice
ON nombre_tabla (columna1 [ASC|DESC], columna2 [ASC|DESC], ...);

CREATE VIEW

CREATE VIEW nombre_vista AS
SELECT columna1, columna2, ...
FROM nombre_tabla
WHERE condicion;

ALTER

El comando ALTER se utiliza para modificar la estructura de objetos existentes en la base de datos.

ALTER TABLE

Para añadir una columna:

ALTER TABLE nombre_tabla
ADD columna tipo_dato [restricciones];

Para modificar una columna:

ALTER TABLE nombre_tabla
MODIFY columna nuevo_tipo_dato [restricciones];

Para eliminar una columna:

ALTER TABLE nombre_tabla
DROP COLUMN columna;

Para añadir una restricción:

ALTER TABLE nombre_tabla
ADD CONSTRAINT nombre_restriccion tipo_restriccion (columna);

Para eliminar una restricción:

ALTER TABLE nombre_tabla
DROP CONSTRAINT nombre_restriccion;

ALTER DATABASE

ALTER DATABASE nombre_base_datos
SET parametro valor;

DROP

El comando DROP se utiliza para eliminar objetos existentes de la base de datos.

DROP TABLE

DROP TABLE nombre_tabla;

DROP DATABASE

DROP DATABASE nombre_base_datos;

DROP VIEW

DROP VIEW nombre_vista;

DROP INDEX

DROP INDEX nombre_indice ON nombre_tabla;

TRUNCATE

El comando TRUNCATE se utiliza para eliminar todos los registros de una tabla, pero manteniendo la estructura de la tabla intacta. Es más rápido que DELETE y no se puede deshacer fácilmente.

TRUNCATE TABLE nombre_tabla;

Ejemplos prácticos

Creación de una base de datos para una biblioteca

-- Crear la base de datos
CREATE DATABASE biblioteca;

-- Usar la base de datos
USE biblioteca;

-- Crear tabla de autores
CREATE TABLE autores (
    autor_id INT PRIMARY KEY AUTO_INCREMENT,
    nombre VARCHAR(50) NOT NULL,
    apellido VARCHAR(50) NOT NULL,
    fecha_nacimiento DATE,
    nacionalidad VARCHAR(50)
);

-- Crear tabla de libros
CREATE TABLE libros (
    libro_id INT PRIMARY KEY AUTO_INCREMENT,
    titulo VARCHAR(100) NOT NULL,
    autor_id INT,
    anio_publicacion INT,
    editorial VARCHAR(50),
    genero VARCHAR(30),
    isbn VARCHAR(20) UNIQUE,
    FOREIGN KEY (autor_id) REFERENCES autores(autor_id)
);

-- Crear índice para búsquedas por título
CREATE INDEX idx_titulo ON libros(titulo);

-- Crear vista para mostrar libros con sus autores
CREATE VIEW vista_libros_autores AS
SELECT l.libro_id, l.titulo, l.anio_publicacion, l.genero,
       CONCAT(a.nombre, ' ', a.apellido) AS autor
FROM libros l
JOIN autores a ON l.autor_id = a.autor_id;

-- Modificar tabla de libros para añadir una columna
ALTER TABLE libros
ADD disponible BOOLEAN DEFAULT TRUE;

-- Modificar el tipo de dato de una columna
ALTER TABLE autores
MODIFY nacionalidad VARCHAR(100);

-- Eliminar una vista
DROP VIEW vista_libros_autores;

-- Truncar la tabla de libros (eliminar todos los registros)
TRUNCATE TABLE libros;

-- Eliminar una tabla
DROP TABLE libros;

-- Eliminar la base de datos
DROP DATABASE biblioteca;

Consideraciones importantes

  1. Transacciones y DDL: En algunos SGBD, los comandos DDL no se pueden revertir mediante ROLLBACK, ya que automáticamente realizan un COMMIT.
  2. Permisos: Para ejecutar comandos DDL, normalmente se requieren permisos administrativos o de propietario.
  3. Impacto: Los comandos DDL pueden afectar el rendimiento de la base de datos, especialmente en entornos de producción.
  4. Planificación: Antes de ejecutar comandos DDL en una base de datos en producción, es importante planificar y probar en un entorno de desarrollo.
  5. Respaldo: Siempre es recomendable hacer un respaldo antes de realizar cambios estructurales importantes con DDL.
Tercera Forma Normal (3NF)
La Tercera Forma Normal (3NF) es una propiedad de las relaci...
Comandos DML en SQL
Aprende sobre los comandos de Data Manipulation Language (DM...
Referencias

Conceptos Básicos de HTML

Aprende los conceptos básicos de HTML

Conceptos Básicos de CSS

Aprende los conceptos básicos de CSS

Conceptos Básicos de JavaScript

Aprende los conceptos básicos de JavaScript

Conceptos Básicos de GIT

Aprende los conceptos básicos de GIT

Conceptos Básicos de Python

Aprende los conceptos básicos de Python

Conceptos Básicos de UML

Aprende los conceptos básicos de UML

Refuerzo Academico de Herramientas de Productividad 2025