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

http://www.w3schools.com/sql/default.asp

http://www.monografias.com/trabajos11/manu/manu.shtml

SQL

By Guillermo Nuñez