Sunteți pe pagina 1din 12

El SQL es un lenguaje estndar de programacin para el acceso a bases de datos.

El lenguaje SQL se utiliza para acceder y manipular datos en cualquier base de datos del mercado,
como por ejemplo, para las bases de datos MySQL, Oracle, DB2, SQL Server, Access.
Este tutorial se divide en las siguientes partes:
SQL Bsico: Las instrucciones SQL bsicas para la consulta de datos de cualquier base
de datos relacional.
SQL Avanzado: Las instrucciones SQL avanzadas para un control completo sobre
cualquier base de datos relacional.
Funciones SQL: SQL tiene multiples funciones predefinidas para realizar ciertos clculos
sobre los datos.
Comandos SQL: Listado de todos los comandos SQL disponibles en este curso, para una
referencia rpida de los mismos.
El SQL es un lenguaje estructurado y un estndar ANSI para el acceso y manipulacin de los datos
de cualquier base de datos.
El SQL se compone de sentencias SQL, cada una con una utilidad diferente, como por ejemplo:
Creacin de una base de datos (CREATE DATABASE)
Creacin de una tabla (CREATE TABLE)
Creacin de una vista (CREATE VIEW)
Creacin de un ndice de una tabla (CREATE INDEX)
Creacin de procedimientos almacenados (CREATE PROCEDURE)
Creacin de disparadores (CREATE TRIGGER)
Consultar los datos almacenados en una tabla (SELECT)
Insertar datos en una tabla (INSERT)
Modificar datos ya existentes en una tabla (UPDATE)
Borrar datos almacenados en una tabla (DELETE)
Dar permiso de acceso a los datos de una tabla (GRANT)
Eliminar permisos de acceso a datos de una tabla (REVOKE)
Finalizar la transaccin de una sentencia SQL (COMMIT)
Retroceder la transaccin de una sentencia SQL (ROLLBACK).









SQL > SQL Bsico
Estas son las instrucciones SQL bsicas para el acceso a cualquier base de datos relacional.
SQL SELECT: SELECT se utiliza para consultar datos.
SQL DISTINCT: DISTINCT sirve para eliminar los duplicados de las consultas de datos.
SQL WHERE: WHERE se utiliza incluir las condiciones de los datos que queremos
consultar.
AND OR: AND y OR se utilizan para incluir 2 o ms condiciones a una consulta.
SQL ORDER BY: ORDER BY se utiliza para ordenar los resultados de una consulta.
SQL INSERT: INSERT se utiliza para insertar datos.
SQL UPDATE: UPDATE se utiliza actualizar o modificar datos ya existentes.
SQL DELETE: DELETE se utiliza borrar datos.





































SQL > SQL Bsico > Select

Una de las sentencias SQL ms importantes es SELECT, ya que permite realizar consultas sobre
los datos almacenados en la base de datos.
Sintaxis SQL SELECT
SELECT * FROM nombretabla
SELECT columna1, columna2 FROM nombretabla
Para los ejemplos, tendremos la siguiente tabla de personas denominada personas
Estos son los datos almacenados en la tabla personas
nombre apellido1 apellido2
ANTONIO PEREZ GOMEZ
ANTONIO GARCIA BENITO
LUIS LOPEZ PEREZ
Si queremos consultar todos los datos de la tabla personas
SELECT * FROM personas
Este ser el resultado:
nombre apellido1 apellido2
ANTONIO PEREZ GOMEZ
ANTONIO GARCIA BENITO
LUIS LOPEZ PEREZ
Si queremos consulta todos los nombres y primer apellido de todas las personas
SELECT nombre, apellido1 FROM personas
Este ser el resultado:
nombre apellido1
ANTONIO PEREZ
ANTONIO GARCIA
LUIS LOPEZ

SQL > SQL Bsico > DISTINCT

Al realizar una consulta puede ocurrir que existan valores repetidos para algunas columnas.
Por ejemplo
SELECT nombre FROM personas
nombre
ANTONIO
LUIS
ANTONIO
Esto no es un problema, pero a veces queremos que no se repitan, por ejemplo, si queremos
saber los nombre diferentes que hay en la tabla personas", entonces utilizaremos DISTINCT.
SELECT DISTINCT nombre FROM personas
nombre
ANTONIO
LUIS

SQL > SQL Bsico > WHERE

La clusula WHERE se utiliza para hacer filtros en las consultas, es decir, seleccionar
solamente algunas filas de la tabla que cumplan una determinada condicin.
El valor de la condicin debe ir entre comillas simples ''.
Por ejemplo:
Seleccionar las personas cuyo nombre sea ANTONIO
SELECT * FROM personas
WHERE nombre = 'ANTONIO'
nombre apellido1 apellido2
ANTONIO PEREZ GOMEZ
ANTONIO GARCIA BENITO


SQL > SQL Bsico > AND OR

Los operadores AND y OR se utilizan para filtrar resultados con 2 condiciones.
El operador AND mostrar los resultados cuando se cumplan las 2 condiciones.
Condicin1 AND condicin2
El operador OR mostrar los resultados cuando se cumpla alguna de las 2 condiciones.
Condicion1 OR condicion2
En la tabla personas
nombre apellido1 apellido2
ANTONIO PEREZ GOMEZ
ANTONIO GARCIA BENITO
LUIS LOPEZ PEREZ
La siguiente sentencia (ejemplo AND) dar el siguiente resultado:
SELECT * FROM personas
WHERE nombre = 'ANTONIO'
AND apellido1 = 'GARCIA'
nombre apellido1 apellido2
ANTONIO GARCIA BENITO
La siguiente sentencia (ejemplo OR) dar el siguiente resultado:
SELECT * FROM personas
WHERE nombre = 'ANTONIO'
OR apellido1 = 'GARCIA'
nombre apellido1 apellido2
ANTONIO PEREZ GOMEZ
ANTONIO GARCIA BENITO
Tambin se pueden combinar AND y OR, como el siguiente ejemplo:
SELECT * FROM personas
WHERE nombre = 'ANTONIO'
AND (apellido1 = 'GARCIA' OR apellido1 = 'LOPEZ)
nombre apellido1 apellido2
ANTONIO GARCIA BENITO

SQL > SQL Bsico > ORDER BY

ORDER BY se utiliza para ordenar los resultados de una consulta, segn el valor de la columna
especificada.
Por defecto, se ordena de forma ascendente (ASC) segn los valores de la columna.
Si se quiere ordenar por orden descendente se utiliza la palabra DES
SELECT nombre_columna(s)
FROM nombre_tabla
ORDER BY nombre_columna(s) ASC|DESC
Por ejemplo, en la tabla personas :
nombre apellido1 apellido2
ANTONIO PEREZ GOMEZ
LUIS LOPEZ PEREZ
ANTONIO GARCIA BENITO
SELECT nombre, apellido1
FROM personas
ORDER BY apellido1 ASC
Esta es la consulta resultante:
nombre apellido1
LUIS LOPEZ
ANTONIO GARCIA
ANTONIO PEREZ
Ejemplo de ordenacin descendiente (DES)
SELECT nombre, apellido1
FROM personas
ORDER BY apellido1 DESC
Esta es la consulta resultante:
nombre apellido1
ANTONIO PEREZ
ANTONIO GARCIA
LUIS LOPEZ

SQL > SQL Bsico > INSERT

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
SQL > SQL Bsico > UPDATE

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 clusula SET establece los nuevos valores para las columnas indicadas.
La clusula WHERE sirve para seleccionar las filas que queremos modificar.
Ojo: Si omitimos la clusula 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

SQL > SQL Bsico > DELETE

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
























SQL > SQL Avanzado

Estas son las instrucciones SQL bsicas para el acceso a cualquier base de datos relacional.
SQL TOP: TOP se utiliza para especificar el nmero de filas a mostrar en el resultado.
SQL LITE: LIKE se utiliza en la clusula WHERE para buscar por un patrn.
SQL WILDCARDS: Wildcards (comodines) son caracteres especiales que se utilizan para
realizar bsquedas especiales.
SQL IN: IN permite seleccionar mltiples valores en una clusula WHERE.
SQL BETWEEN: BETWEEN se utiliza en la clusula WHERE para seleccionar valores
entre un rango de datos.
SQL ALIAS: ALIAS se utiliza para renombrar una tabla o una columna
SQL JOINS: JOIN permite consultar datos de 2 o ms tablas.
SQL INNER JOIN:INNER JOIN sirve para combinar cada fila de una tabla con cada fila de
otra tabla.
SQL LEFT JOIN: LEFT JOIN sirve para combinar los valores de la primera tabla con los
valores de la segunda tabla. Siempre devolver las filas de la primera tabla.
SQL RIGHT JOIN: RIGHT JOIN sirve para combinar los valores de la primera tabla con los
valores de la segunda tabla. Siempre devolver las filas de la segunda tabla.
SQL FULL JOIN: FULL JOIN sirve para combinar los valores de la primera tabla con los
valores de la segunda tabla. Siempre devolver las filas de las dos tablas.
SQL UNION: UNION es utilizada para acumular los resultados de dos sentencias SELECT.
SQL UNION ALL: SQL UNION ALL es utilizada para acumular los resultados de dos
sentencias SELECT, incluso aparecern las filas que estn repetidas.
SQL SELECT INTO: SELECT INTO se utiliza para copiar datos de una tabla en otra tabla
diferente.
SQL CREATE DATABASE: CREATE DATABASE se utiliza para crear bases de datos.
SQL RESTRICCIONES: RESTRICCIONES se utilizan para limitar el tipo de dato de una
columna.
SQL NOT NULL: NOT NULL se utiliza para especificar que una columna no acepta el valor
NULL.
SQL UNIQUE: UNIQUE sirve para identificar de manera nica a cada fila de una tabla
SQL UNIQUE ALTER TABLE: UNIQUE ALTER TABLE permite aadir UNIQUE a una
columna de una tabla, despus de ser creada.
SQL PRIMARY KEY: PRIMARY KEY se utiliza para identificar de manera nica cada fila
de una tabla.
SQL FOREIGN KEY: FOREIGN KEY se utiliza para identificar una columna que es
PRIMARY KEY en otra tabla.
SQL CHECK: CHECK para limitar el rango de valores de una columna.
SQL DEFAULT: DEFAULT valor por defecto para una columna
SQL CREATE INDEX: CREATE INDEX para crear un ndice en una tabla.
SQL DROP: DROP sirve para borrar cualquier elemento (ndice, tabla o base de datos).
SQL TRUNCATE: TRUNCATE sirve para borrar los datos (no la estructura) de una tabla
SQL ALTER: ALTER se utiliza para modificar la definicin de alguna columna de una tabla.
SQL AUTO INCREMENT: AUTO INCREMENT genera numero autoincremental para
alguna columna de una tabla.
SQL VIEWS: VIEWS sirve para crear una tabla virtual (no una tabla real) con los
resultados de una consulta.
SQL DATES: DATE define diferentes tipos de datos para fechas y horas.
SQL VALORES NULL: NULL representa a un valor indefinido.
SQL FUNCIONES NULL: FUNCIONES NULL sirven para utilizar los valores NULL.
SQL DATOS TEXTO MySQL: DATOS TEXTO MySQL define los diferentes formatos de
campos de texto para MySQL.
SQL NUMERICOS MySQL: DATOS NUMERICOS MySQL define los diferentes formatos
de campos numricos para MySQL.
SQL DATOS FECHA MySQL: DATOS FECHA MySQL define los diferentes formatos de
campos de fecha para MySQL.

S-ar putea să vă placă și