SQL
Lenguaje de consulta estructurado
SQL : Structured Query Language
Es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en ellas.
SQL es un estándar
Que puede hacer SQL?
- Puede ejecutar consultas contra una base de datos (DB)
- Puede traer datos desde una DB
- Puede insertar registros en una DB
- Puede actualizar registros en una DB
- Puede borrar registros en una DB
- Puede crear nuevas bases de datos
- Puede crear nuevas tablas en una DB
- Puede crear stored procedures en una DB
- Puede crear vistas en una DB
- Puede establecer permisos en tablas, procedures y vistas
SQL
Es mentira que es un estándar
Pero todas las DB soportan los comandos principales de manera bastante similar.
Ejemplo de instrucción
SELECT * FROM Customers;
Probarlo aquí (usar Chrome, Opera o Safari)
Considerar que SQL no es sensible a las mayúsculas. Así que SELECT y select funcionarán igual.
Algunas bases de datos requieren el punto y coma y otras no
Algunos de los comandos más importantes
- SELECT - Extrae datos desde una base de datos
- UPDATE - Actualiza datos en una DB
- DELETE - Borra datos en una DB
- INSERT INTO - Inserta nuevos datos en una DB
- CREATE DATABASE - Crea una nueva DB
- ALTER DATABASE - Modifica una DB
- CREATE TABLE - Crea una nueva tabla
- ALTER TABLE - Modifica una tabla
- DROP TABLE - borra una tabla
Instrucción SELECT
Extrae datos desde una base de datos
Sintaxis:
SELECT nombre_columna, nombre_columna
FROM nombre_tabla;
y
SELECT * FROM nombre_tabla;
Por ejemplo:
SELECT CustomerName,City FROM Customers;
Trae sólo las columnas "CustomerName" y "City" de la tabla "Customers"
Ejercicios rápidos
Traer todos los datos de la tabla Employees
Traer los datos de los campos LastName y FirstName de la tabla Employees
SELECT DISTINCT
Trae sólo los resultados diferentes de nuestra consulta
Ejemplo, notar la diferencia entre
SELECT City FROM Customers;
y
SELECT DISTINCT City FROM Customers;
Cláusula WHERE
Se utiliza para filtrar los registros
Sintaxis:
SELECT nombre_columna,nombre_columna
FROM nombre_tabla
WHERE nombre_columna operador valor;
Ejemplo
Para traer los clientes de méxico solamente:
SELECT * FROM Customers
WHERE Country='Mexico';
Los campos de texto van entre comillas y los numéricos sin comillas.
Operadores de la cláusula WHERE
- = Igual
- <> No igual. Nota: En algunas versiones de SQL este operador puede estar escrito como !=
- > Mayor que
- < Menor que
- >= Mayor o igual que
- <= Menor o igual que
- BETWEEN Entre un rango inclusivo
- LIKE Búsqueda por patrón
- IN Para especificar múltiples valores posibles para una columna
Operadores AND y OR
Utilizados en la cáusula Where para consultas más complejas
Ejemplo:
SELECT * FROM Customers
WHERE Country='Germany'
AND City='Berlin';
Sólo trae los clientes de Alemania que además sean de Berlín
SELECT * FROM Customers
WHERE City='Berlin'
OR City='München';
Trae a los clientes de Berín y además los de München
Se pueden combinar los operadores y agruparlos con paréntesis
ORDER BY
Sirve para ordenar los resultados por una o varias columnas indicadas
Sintaxis
SELECT nombre_columna,nombre_columna
FROM nombre_tabla
ORDER BY nombre_columna,nombre_columna ASC|DESC;
Ejemplo
SELECT * FROM Customers
ORDER BY Country DESC;
Ejercicios rápidos
Traer desde la tabla Products todos los productos cuyo precio (columna Price) sea mayor o igual a 20
Ordenarlos por Price
Hacer que el más caro aparezca primero
INSERT INTO
Sirve para insertar nuevos registros en una tabla
Sintaxis
Sin especificar columnas:
INSERT INTO nombre_tabla
VALUES (valor1,valor2,valor3,...);
Especificando columnas:
INSERT INTO nombre_tabla (columna1,columna2,columna3,...)
VALUES (valor1,valor2,valor3,...);
Ejemplo:
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('Cosme Fulanito','Lrrr','Calle Falsa 21','Omicron Persei 8','4006','Noruega');
Otros comandos de manipulación de datos:
Modificación de datos
UPDATE nombre_tabla
SET columna1=valor1,columna2=valor2,...
WHERE alguna_columna=algun_valor;
Borrando registros
DELETE FROM nombre_tabla
WHERE alguna_columna=algun_valor;
Ejercicios rápidos
Crear un Empleado con tus datos personales
Modificar el nombre de Cosme Fulanito por el de Max Powers
Borrar a Max Powers
CREATE TABLE
Utilizado para crear tablas
CREATE TABLE nombre_tabla
(
nombre_columna1 tipo_de_dato(tamaño),
nombre_columna2 tipo_de_dato(tamaño),
nombre_columna3 tipo_de_dato(tamaño),
....
);
Ejemplo
CREATE TABLE Persons
(
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);
DROP
Sirve para borrar índices, tablas y hasta bases de datos
Para borrar tabla:
DROP TABLE nombre_tabla
Para borrar una base de datos
DROP DATABASE nombre_base_de_datos
Material Extra
SQL
By Guillermo Nuñez
SQL
- 2,084