0% encontró este documento útil (0 votos)
8 vistas8 páginas

Operaciones CRUD en SQL: Consultas Básicas

El documento describe las operaciones básicas de manipulación de datos en SQL, conocidas como CRUD: Crear (INSERT), Leer (SELECT), Actualizar (UPDATE) y Borrar (DELETE). Se detalla la sintaxis y uso de la instrucción SELECT para consultar datos, así como ejemplos de cómo insertar, actualizar y eliminar filas en una tabla. Además, se explican cláusulas como WHERE, ORDER BY y condiciones lógicas para filtrar y organizar los resultados de las consultas.

Cargado por

julyet917
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
8 vistas8 páginas

Operaciones CRUD en SQL: Consultas Básicas

El documento describe las operaciones básicas de manipulación de datos en SQL, conocidas como CRUD: Crear (INSERT), Leer (SELECT), Actualizar (UPDATE) y Borrar (DELETE). Se detalla la sintaxis y uso de la instrucción SELECT para consultar datos, así como ejemplos de cómo insertar, actualizar y eliminar filas en una tabla. Además, se explican cláusulas como WHERE, ORDER BY y condiciones lógicas para filtrar y organizar los resultados de las consultas.

Cargado por

julyet917
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Consultas SQL

Operaciones básicas de manipulación de datos en SQL


En general a las operaciones básicas de manipulación de datos que podemos realizar con SQL
se les denomina operaciones CRUD (de Create, Read, Update and Delete, o sea, Crear, Leer,
Actualizar y Borrar, sería CLAB en español, pero no se usa). Lo verás utilizado de esta manera
en muchos sitios, así que apréndete ese acrónimo.
Hay cuatro instrucciones para realizar estas tareas:
 INSERT: Inserta filas en una tabla. Se corresponde con la “C” de CRUD.
 SELECT: muestra información sobre los datos almacenados en la base de datos. Dicha
información puede pertenecer a una o varias tablas. Es la “R”.
 UPDATE: Actualiza información de una tabla. Es, obviamente, la “U”.
 DELETE: Borra filas de una tabla. Se corresponde con la “D”.
Consulta de datos
Ahora nos vamos a centrar en la “R” de CRUD, es decir, en cómo recuperar la información
que nos interesa de dentro de una base de datos, usando para ello el lenguaje de consulta o
SQL. Ya nos preocuparemos luego de cómo llegamos a introducir los datos primeramente.
Para realizar consultas sobre las tablas de las bases de datos disponemos de la
instrucción SELECT. Con ella podemos consultar una o varias tablas. Es sin duda el comando
más versátil del lenguaje SQL.
Existen muchas cláusulas asociadas a la sentencia SELECT (GROUP BY, ORDER, HAVING,
UNION). También es una de las instrucciones en la que con más frecuencia los motores de
bases de datos incorporan cláusulas adicionales al estándar, que es el que veremos aquí.
Vamos a empezar viendo las consultas simples, basadas en una sola tabla. Veremos cómo
obtener filas y columnas de una tabla en el orden en que nos haga falta.
El resultado de una consulta SELECT nos devuelve una tabla lógica. Es decir, los resultados
son una relación de datos, que tiene filas/registros, con una serie de campos/columnas. Igual
que cualquier tabla de la base de datos. Sin embargo esta tabla está en memoria mientras la
utilicemos, y luego se descarta. Cada vez que ejecutamos la consulta se vuelve a calcular el
resultado.
La sintaxis básica de una consulta SELECT es la siguiente (los valores opcionales van entre
corchetes):
SELECT [ ALL / DISTINC ] [ * ] / [ListaColumnas_Expresiones] AS [Expresion]
FROM Nombre_Tabla_Vista
WHERE Condiciones
ORDER BY ListaColumnas [ ASC / DESC ]
A continuación, analizaremos cada una de las partes de la consulta para entenderla mejor.
SELECT
Permite seleccionar las columnas que se van a mostrar y en el orden en que lo van a hacer.
Simplemente es la instrucción que la base de datos interpreta como que vamos a solicitar
información.
ALL / DISTINCT
ALL es el valor predeterminado, especifica que el conjunto de resultados puede incluir filas
duplicadas. Por regla general nunca se utiliza.
DISTINCT especifica que el conjunto de resultados sólo puede incluir filas únicas. Es decir, si
al realizar una consulta hay registros exactamente iguales que aparecen más de una vez, éstos
se eliminan. Muy útil en muchas ocasiones.
Nombres de campos
Se debe especificar una lista de nombres de campos de la tabla que nos interesan y que por
tanto queremos devolver. Normalmente habrá más de uno, en cuyo caso separamos cada
nombre de los demás mediante comas.
Se puede anteponer el nombre de la tabla al nombre de las columnas, utilizando el
formato [Link]. Además de nombres de columnas, en esta lista se pueden poner
constantes, expresiones aritméticas, y funciones, para obtener campos calculados de manera
dinámica.
Si queremos que nos devuelva todos los campos de la tabla utilizamos el comodín “*”
(asterisco).
Los nombres indicados deben coincidir exactamente con los nombre de los campos de la tabla,
pero si queremos que en nuestra tabla lógica de resultados tengan un nombre diferente podemos
utilizar:
AS
Permite renombrar columnas si lo utilizamos en la cláusula SELECT, o renombrar tablas si lo
utilizamos en la cláusula FROM. Es opcional. Con ello podremos crear diversos alias de
columnas y tablas. Enseguida veremos un ejemplo.
FROM
Esta cláusula permite indicar las tablas o vistas de las cuales vamos a obtener la información.
De momento veremos ejemplos para obtener información de una sola tabla.
Como se ha indicado anteriormente, también se pueden renombrar las tablas usando la
instrucción “AS”.
WHERE
Especifica la condición de filtro de las filas devueltas. Se utiliza cuando no se desea que se
devuelvan todas las filas de una tabla, sino sólo las que cumplen ciertas condiciones. Lo
habitual es utilizar esta cláusula en la mayoría de las consultas.
Condiciones
Son expresiones lógicas a comprobar para la condición de filtro, que tras su resolución
devuelven para cada fila TRUE o FALSE, en función de que se cumplan o no. Se puede utilizar
cualquier expresión lógica y en ella utilizar diversos operadores como:
 > (Mayor)
 >= (Mayor o igual)
 < (Menor)
 <= (Menor o igual)
 = (Igual)
 <> o != (Distinto)
 IS [NOT] NULL (para comprobar si el valor de una columna es o no es nula, es decir,
si contiene o no contiene algún valor)
Se dice que una columna de una fila es NULL si está completamente vacía. Hay que tener en
cuenta que si se ha introducido cualquier dato, incluso en un campo alfanumérico si se
introduce una cadena en blanco o un cero en un campo numérico, deja de ser NULL.
 LIKE: para la comparación de un modelo. Para ello utiliza los caracteres comodín
especiales: “%” y “_”. Con el primero indicamos que en su lugar puede ir cualquier
cadena de caracteres, y con el segundo que puede ir cualquier carácter individual (un
solo carácter). Con la combinación de estos caracteres podremos obtener múltiples
patrones de búsqueda. Por ejemplo:
o El nombre empieza por A: Nombre LIKE ‘A%’
o El nombre acaba por A: Nombre LIKE ‘%A’
o El nombre contiene la letra A: Nombre LIKE ‘%A%’
o El nombre empieza por A y después contiene un solo carácter
cualquiera: Nombre LIKE ‘A_’
o El nombre empieza una A, después cualquier carácter, luego una E y al final
cualquier cadena de caracteres: Nombre LIKE ‘A_E%’
 BETWEEN: para un intervalo de valores. Por ejemplo:
o Clientes entre el 30 y el 100: CodCliente BETWEEN 30 AND 100
o Clientes nacidos entre 1970 y 1979: FechaNac BETWEEN ‘19700101’ AND
‘19791231’
 IN( ): para especificar una relación de valores concretos. Por ejemplo: Ventas de los
Clientes 10, 15, 30 y 75: CodCliente IN(10, 15, 30, 75)
Por supuesto es posible combinar varias condiciones simples de los operadores anteriores
utilizando los operadores lógicos OR, AND y NOT, así como el uso de paréntesis para
controlar la prioridad de los operadores (como en matemáticas). Por ejemplo: … (Cliente =
100 AND Provincia = 30) OR Ventas > 1000 … que sería para los clientes de las provincias
100 y 30 o cualquier cliente cuyas ventas superen 1000.
ORDER BY
Define el orden de las filas del conjunto de resultados. Se especifica el campo o campos
(separados por comas) por los cuales queremos ordenar los resultados.
ASC / DESC
ASC es el valor predeterminado, especifica que la columna indicad en la cláusula ORDER BY
se ordenará de forma ascendente, o sea, de menor a mayor. Si por el contrario se especifica
DESC se ordenará de forma descendente (de mayor a menor).
Por ejemplo, para ordenar los resultados de forma ascendente por ciudad, y los que sean de la
misma ciudad de forma descendente por nombre, utilizaríamos esta cláusula de ordenación:
… ORDER BY Ciudad, Nombre DESC …
Como a la columna Ciudad no le hemos puesto ASC o DESC se usará para la misma el valor
predeterminado (que es ASC)
OJO: Aunque al principio si aún no se está habituado, pueda dar la impresión de que se ordena
por ambas columnas en orden descendente. Si es eso lo que queremos deberemos escribir …
ORDER BY Ciudad DESC, Nombre DESC …
Algunos ejemplos
Para terminar este repaso a las consultas simples practicarlas un poco, veamos algunos
ejemplos con la base de datos Northwind en SQL Server:
- Mostrar todos los datos de los Clientes de nuestra empresa:
SELECT * FROM Customers
- Mostrar apellido, ciudad y región (LastName, city, region) de los empleados de USA (nótese
el uso de AS para darle el nombre en español a los campos devueltos):
SELECT [Link] AS Apellido, City AS Ciudad, Region
FROM Employees AS E
WHERE Country = ‘USA’
- Mostrar los clientes que no sabemos a qué región pertenecen (o sea, que no tienen asociada
ninguna región) :
SELECT * FROM Customers WHERE Region IS NULL
- Mostrar las distintas regiones de las que tenemos algún cliente, accediendo sólo a la tabla de
clientes:
SELECT DISTINCT Region FROM Customers WHERE Region IS NOT NULL
- Mostrar los clientes que pertenecen a las regiones CA, MT o WA, ordenados por región
ascendentemente y por nombre descendentemente.
CODE SELECT * FROM Customers WHERE Region IN(‘CA’, ‘MT’, ‘WA’)
ORDER BY Region, CompanyName DESC
- Mostrar los clientes cuyo nombre empieza por la letra “W”:
SELECT * FROM Customers WHERE CompanyName LIKE ‘W%’
- Mostrar los empleados cuyo código está entre el 2 y el 9:
SELECT * FROM Employees WHERE EmployeeID BETWEEN 2 AND 9
- Mostrar los clientes cuya dirección contenga “ki”:
SELECT * FROM Customers WHERE Address LIKE ‘%ki%’

La sentencia INSERT INTO se utiliza para insertar nuevas filas en una tabla.
Es posible insertar una nueva fila en una tabla de dos formas distintas:
INSERT INTO nombre_tabla
VALUES (valor1, valor2, valor3, .)
INSERT INTO nombre_tabla (columna1, columna2, columna3,.)
VALUES (valor1, valor2, valor3, .)
Ejemplo:
Dada la siguiente tabla personas:

nombre apellido1 apellido2

ANTONIO PEREZ GOMEZ

LUIS LOPEZ PEREZ

ANTONIO GARCIA BENITO

Si queremos insertar una nueva fila en la tabla personas, lo podemos hacer con cualquiera de
las dos sentencias siguientes:
INSERT INTO personas
VALUES ('PEDRO', 'RUIZ', 'GONZALEZ')
INSERT INTO personas (nombre, apellido1, apellido2)
VALUES ('PEDRO', 'RUIZ', 'GONZALEZ')
Cualquiera de estas sentencias anteriores produce que se inserte una nueva fila en la tabla
personas, quedando así dicha tabla:

nombre apellido1 apellido2

ANTONIO PEREZ GOMEZ

LUIS LOPEZ PEREZ

ANTONIO GARCIA BENITO

PEDRO RUIZ GONZALEZ

La sentencia UPDATE se utiliza para modificar valores en una tabla.


La sintaxis de SQL UPDATE es:
UPDATE nombre_tabla
SET columna1 = valor1, columna2 = valor2
WHERE columna3 = valor3
La cláusula SET establece los nuevos valores para las columnas indicadas.
La cláusula WHERE sirve para seleccionar las filas que queremos modificar.
Ojo: Si omitimos la cláusula WHERE, por defecto, modificará los valores en todas las filas de
la tabla.
Ejemplo del uso de SQL UPDATE

nombre apellido1 apellido2

ANTONIO PEREZ GOMEZ

LUIS LOPEZ PEREZ

ANTONIO GARCIA BENITO

PEDRO RUIZ GONZALEZ

Si queremos cambiar el apellido2 'BENITO' por 'RODRIGUEZ' ejecutaremos:


UPDATE personas
SET apellido2 = 'RODRIGUEZ'
WHERE nombre = 'ANTONIO'
AND apellido1 = 'GARCIA'
AND apellido2 = 'BENITO'
Ahora la tabla 'personas' quedará así:

nombre apellido1 apellido2

ANTONIO PEREZ GOMEZ

LUIS LOPEZ PEREZ

ANTONIO GARCIA RODRIGUEZ

PEDRO RUIZ GONZALEZ

La sentencia DELETE sirve para borrar filas de una tabla.


La sintaxis de SQL DELETE es:
DELETE FROM nombre_tabla
WHERE nombre_columna = valor
Si queremos borrar todos los registros o filas de una tabla, se utiliza la sentencia:
DELETE * FROM nombre_tabla;
Ejemplo de SQL DELETE para borrar una fila de la tabla personas

nombre apellido1 apellido2

ANTONIO PEREZ GOMEZ

LUIS LOPEZ PEREZ

ANTONIO GARCIA RODRIGUEZ

PEDRO RUIZ GONZALEZ

Si queremos borrar a la persona LUIS LOPEZ PEREZ, podemos ejecutar el comando:


DELETE FROM personas
WHERE nombre = 'LUIS'
AND apellido1 = 'LOPEZ'
AND apellido2 = 'PEREZ'
La tabla 'personas' resultante será:
nombre apellido1 apellido2

ANTONIO PEREZ GOMEZ

ANTONIO GARCIA RODRIGUEZ

PEDRO RUIZ GONZALEZ

También podría gustarte