Si quieres aprender SQL, empieza por el CRUD
Si sos programador —o estás en camino de serlo— tarde o temprano vas a trabajar con bases de datos: tablas de clientes, usuarios, pedidos, productos y mucho más. En el día a día de un proyecto real no alcanza con “saber que existe SQL”: tenés que poder crear, leer, actualizar y borrar datos de forma ágil.
Eso se resume en cuatro operaciones que en inglés llamamos CRUD:
| Operación | Comando SQL (reservado) | Para qué sirve |
|---|---|---|
| Create | CREATE, INSERT | Crear bases de datos, tablas y filas |
| Read | SELECT | Consultar y filtrar datos |
| Update | UPDATE | Modificar registros existentes |
| Delete | DELETE | Eliminar registros |
En este tutorial vas a ver el CRUD aplicado a un caso concreto: una tabla Clientes con columnas como nombre, email, celular y estado activo. Todo desde SQL Server Management Studio, con comandos que podés copiar, ejecutar y adaptar.
Dónde encaja la base de datos en una aplicación real
Antes de escribir SQL, conviene ubicar el panorama.
Cuando usás una app —YouTube, Instagram, un sistema interno de una empresa— el frontend pide datos al servidor. El servidor ejecuta la lógica y, cuando hace falta persistencia, envía una consulta a la base de datos. La base devuelve la información y el servidor la entrega al cliente.
En este nivel estás gestionando los datos crudos: nombres, emails, IDs, estados. Esos datos tienen tipos definidos en la tabla (texto, número, etc.) para que el motor valide lo que guardás.
No necesitás dominar todo el ecosistema de bases de datos en un solo día. El mundo SQL es amplio; esta guía cubre la base práctica del CRUD para que después puedas avanzar a relaciones entre tablas, claves foráneas y consultas más complejas.
Crear una base de datos en SSMS
Asumimos que ya tenés SSMS abierto y conectado a tu instancia local (por ejemplo localhost o (localdb)\...).
Opción visual
- En el Explorador de objetos, clic derecho en Databases.
- New Database…
- Elegí un nombre (ejemplo:
EmpresaPlus) y confirmá con OK.
Opción con comando
En una ventana de consulta nueva:
CREATE DATABASE EmpresaPlus;
Después de crearla, si no la ves en el árbol: clic derecho en Databases → Refresh.
Crear la tabla Clientes con CREATE TABLE
Vamos a replicar una estructura típica de negocio:
| Columna | Tipo | Notas |
|---|---|---|
IDCliente | INT | Clave primaria, autoincremental |
Nombre | VARCHAR(50) | Texto, puede ser opcional según reglas de negocio |
Email | VARCHAR(100) | Texto |
Celular | INT o BIGINT | Números largos pueden requerir BIGINT |
ActivoSN | VARCHAR(1) | S / N (o otro código que definas) |
También podés crear la tabla desde la UI (Tables → clic derecho → New Table), pero en proyectos reales y en entrevistas técnicas suele pedirse el script:
CREATE TABLE Clientes (
IDCliente INT PRIMARY KEY IDENTITY(1, 1),
Nombre VARCHAR(50) NULL,
Email VARCHAR(100) NULL,
Celular INT NULL,
ActivoSN VARCHAR(1) NULL
);
Conceptos clave:
PRIMARY KEY: identificador único por fila; no se repite el mismoIDCliente.IDENTITY(1, 1): autoincremento; el motor asigna 1, 2, 3… sin que lo escribas en cadaINSERT.NULL/NOT NULL: define si la columna puede quedar vacía. En el video,IDClientesuele ser obligatorio; otras columnas pueden ser opcionales según tu caso.
Ejecutá el script con la base correcta seleccionada. Si la tabla ya existe, verás error de objeto duplicado: usá otra base de prueba o eliminá/renombrá solo en entornos de estudio.
SELECT: leer datos de una tabla
Para traer todas las columnas de todas las filas:
SELECT * FROM Clientes;
El asterisco (*) equivale a “todas las columnas”. Si solo necesitás algunas:
SELECT IDCliente, Nombre, Email FROM Clientes;
Esto es la base del Read del CRUD: consultar lo que ya guardaste.
INSERT INTO: cargar datos (Create sobre filas)
Un insert básico indica tabla, columnas y valores:
INSERT INTO Clientes (Nombre, Email, Celular, ActivoSN)
VALUES ('José', 'jos@gmail.com', 9655, 'S');
Detalles importantes:
- Si
IDClientetieneIDENTITY, no hace falta incluirlo en elINSERT; SQL Server genera el siguiente número. - En SQL Server, los textos van entre comillas simples
'...', no dobles. - Los tipos deben coincidir: un número muy grande en
INTpuede fallar; para celulares con prefijo internacional convieneBIGINTo guardar el teléfono comoVARCHAR.
Insertar varias filas en un solo comando
INSERT INTO Clientes (Nombre, Email, Celular, ActivoSN)
VALUES
('Lucas', 'lucas@mail.com', 99111222, 'S'),
('María', 'maria@mail.com', 99222333, 'N'),
('Luis', 'luis@mail.com', 99333444, 'S');
Después de insertar, validá con SELECT * FROM Clientes;.
Filtrar con WHERE (SELECT más útil)
WHERE limita qué filas devuelve el SELECT:
-- Un cliente por ID
SELECT * FROM Clientes WHERE IDCliente = 6;
-- Varios registros que cumplen una condición
SELECT * FROM Clientes WHERE IDCliente <= 10;
-- Combinar condiciones
SELECT * FROM Clientes
WHERE IDCliente <= 10 AND ActivoSN = 'S';
En aplicaciones reales vas a usar WHERE constantemente: usuarios activos, pedidos del mes, clientes de un país, etc. Las palabras reservadas (SELECT, FROM, WHERE, AND) las resalta SSMS en azul para ayudarte a leer la consulta.
DELETE: borrar filas con cuidado
DELETE FROM Clientes WHERE IDCliente = 8;
Sin WHERE, un DELETE FROM Clientes vacía toda la tabla. En bases sensibles la buena práctica es:
- Primero un
SELECTcon el mismoWHEREpara ver qué vas a borrar. - Después el
DELETEcon el filtro exacto (por ejemplo porIDCliente).
El mensaje “1 fila afectada” confirma que se eliminó un registro.
UPDATE: modificar datos existentes
UPDATE Clientes
SET Nombre = 'Kevin'
WHERE IDCliente = 6;
Sin WHERE, todas las filas quedarían con Nombre = 'Kevin'. Siempre acotá con el identificador único (IDCliente).
Comprobá el cambio:
SELECT * FROM Clientes WHERE IDCliente = 6;
Resumen: tu primer CRUD en SQL Server
Con lo visto en esta guía ya podés:
- Crear base de datos (
CREATE DATABASE) y tabla (CREATE TABLE). - Insertar filas (
INSERT INTO). - Consultar y filtrar (
SELECT,WHERE). - Actualizar (
UPDATE+WHERE). - Eliminar (
DELETE+WHERE).
Eso es el núcleo con el que conviene empezar cualquier camino en SQL. Lo siguiente en la serie suele ser relacionar tablas con claves foráneas (FOREIGN KEY) y consultas entre varias entidades; pero sin dominar este CRUD, el resto se complica innecesariamente.
Próximos pasos
- Repetí todos los comandos en una base de prueba propia (
EmpresaPluso el nombre que prefieras). - Si aún no tenés el entorno, completá la instalación de SQL Server y SSMS.
- En el canal seguimos con SQL más avanzado: relaciones entre tablas, claves foráneas y consultas que unen varias tablas.