Você está na página 1de 12

UNIVERSIDAD DEL VALLE

SEDE BUGA
FACULTAD DE INGENIERIA
TECNOLOGIA EN SISTEMAS DE INFORMACIN
ADRIAN LASSO CARDONA
(adrianlassocardona@yahoo.es)
TALLER DE PROGRAMACIN INTERACTIVA

SQL
El lenguaje de consulta estructurado (SQL) es un lenguaje utilizado por la gran
mayora de los motores de base de datos normalizados.
Componentes del SQL
El lenguaje SQL est compuesto por comandos, clusulas, operadores y
funciones de agregado. Estos elementos se combinan en las instrucciones para
crear, actualizar y manipular informacin en las bases de datos.
Comandos
Existen dos tipos de comandos SQL:

Los DLL que permiten crear y definir nuevas bases de datos, campos e

Los DML que permiten generar consultas para ordenar, filtrar y extraer

ndices.

informacin de la base de datos.

Comandos DLL
Comando

CREATE
DROP

ALTER

Descripcin

Utilizado para crear nuevas tablas, campos e ndices


Empleado para eliminar tablas e ndices

Utilizado para modificar las tablas agregando campos o


cambiando la definicin de los campos

Comandos DML
Comando

Descripcin

SELECT

Utilizado para consultar registros de la base de datos que

INSERT

Utilizado para cargar (guardar) lotes de datos en la base de

UPDATE

Utilizado para modificar los valores de los campos y registros

DELETE

Utilizado para eliminar registros de una tabla de una base de

satisfagan un criterio determinado


datos en una nica operacin
especificados
datos

Clusulas
Las clusulas son condiciones de modificacin utilizadas para definir los datos que
desea seleccionar o manipular.
Comando

Descripcin

FROM

Utilizada para especificar la tabla de la cual se van a seleccionar

WHERE

Utilizada para especificar las condiciones que deben reunir los

los registros

registros que se van a seleccionar

GROUP BY

Utilizada para separar los registros seleccionados en grupos

HAVING

Utilizada para expresar la condicin que debe satisfacer cada

ORDER BY

Utilizada para ordenar los registros seleccionados de acuerdo

especficos
grupo

con un orden especfico

Operadores Lgicos
Comando

Descripcin

AND

Es el "y" lgico. Evala dos condiciones y devuelve un valor de

OR

Es el "o" lgico. Evala dos condiciones y devuelve un valor de

NOT

Negacin lgica. Devuelve el valor contrario de la expresin.

verdad slo si ambas son ciertas.

verdad si alguna de las dos es cierta.

Operadores de Comparacin
Comando

Descripcin

>

Mayor que

<

<>
<=
>=
=

Menor que
Distinto de

Menor Igual que


Mayor Igual que

Igual que

BETWEEN

Utilizado para especificar un intervalo de valores

In

Utilizado para especificar registros de una base de datos

LIKE

Utilizado en la comparacin de un modelo

Funciones de Agregado ( Criterio


Criterio de Agrupamiento)
Agrupamiento)
Las funciones de agregado se usan dentro de una clusula SELECT en grupos de
registros para devolver un nico valor que se aplica a un grupo de registros.
Comando

Descripcin

AVG

Utilizada para calcular el promedio de los valores de un campo

COUNT

Utilizada para devolver el nmero de registros de la seleccin

SUM

determinado

Utilizada para devolver la suma de todos los valores de un


campo determinado

MAX

Utilizada para devolver el valor ms alto de un campo

MIN

Utilizada para devolver el valor ms bajo de un campo

especificado
especificado

Predicados
Predicado

Descripcin

ALL

Devuelve todos los campos de la tabla

DISTINCT

Omite los registros cuyos campos seleccionados coincidan

TOP

Devuelve un determinado nmero de registros de la tabla

totalmente

DISTINCTROW Omite los registros duplicados basndose en la totalidad del


registro y no slo en los campos seleccionados.

Si no se incluye ninguno de los predicados se asume ALL.

Comodines
Smbolo

Descripcin

Sustituye a todos los campos

Sustituye un solo carcter dentro de una cadena

Sustituye a cualquier cosa o nada dentro de una cadena

Tipos de Campo
Cada base de datos introduce tipos de valores de campo que no necesariamente

estn presentes en otras. Sin embargo, existe un conjunto de tipos que estn
representados en la totalidad de estas bases. Estos tipos comunes son los
siguientes:

Alfanumricos

Contienen cifras y letras. Presentan una longitud limitada


(255 caracteres) Numricos Existen de varios tipos,

principalmente, enteros (sin decimales) y reales (con


Booleanos
Fechas

decimales).

Poseen dos formas: Verdadero y falso (S o No)

Almacenan

fechas

facilitando

posteriormente

su

explotacin. Almacenar fechas de esta forma posibilita

ordenar los registros por fechas o calcular los das entre


Memos

una fecha y otra...

Son campos alfanumricos de longitud ilimitada. Presentan


el inconveniente de no poder ser indexados (veremos ms
adelante lo que esto quiere decir).

Autoincrementables Son campos numricos enteros que incrementan en una


unidad su valor para cada registro incorporado. Su utilidad

resulta ms que evidente: Servir de identificador ya que


resultan exclusivos de un registro.

Creacin de una base de datos


Sintaxis: CREATE database nom_base_datos;

Ejemplo: CREATE database estudiante;


Eliminacin de una base de datos

Sintaxis: DROP database nom_base_datos;

Ejemplo: DROP database estudiante;


Creacin de una tabla

Para crear una tabla debemos especificar diversos datos: El nombre que le
queremos asignar, los nombres de los campos y sus caractersticas. Adems,

puede ser necesario especificar cules de estos campos van a ser ndices y de
qu tipo van a serlo.

La sintaxis de creacin puede variar ligeramente de una base de datos a otra ya


que los tipos de campo aceptados no estn completamente estandarizados.
Sintaxis:

CREATE table nom_tabla


(

nombre_campo_1 tipo_1,

nombre_campo_2 tipo_2,
nombre_campo_n tipo_n,
primary key(campo_x,...)

);

Ejemplo:

CREATE table info_estudiante


(

nombre varchar(30) not null,

apellido varchar(30) not null,


codigo int not null,

cod_plan int not null,

);

primary key(codigo)

Eliminacin de una tabla


Sintaxis: DROP table nom_ tabla;

Ejemplo: DROP table info_estudiante;


Insertar un nuevo registro
Los registros son introducidos a partir de sentencias que emplean la instruccin
INSERT.

Sintaxis INSERT into nom_tabla (nombre_campo1, nombre_campo2,...)

values (valor_campo1, valor_campo2...);

Ejemplo: INSERT into info_estudiante (nombre, apellido, codigo, cod_plan)

values ('PEDRO', 'PEREZ', 200700001, 2708);

Como puede verse, los campos tipo texto van delimitados por apostrofes: '.

Seleccin
La seleccin total o parcial de una tabla se lleva a cabo mediante la instruccin
SELECT. En dicha seleccin hay que especificar:

Los campos que queremos seleccionar.

La tabla en la que hacemos la seleccin.

Sintaxis: SELECT nombre_campo1, nombre_campo2,... from nom_tabla;

Ejemplo:
Ejemplo SELECT apellido, codigo from info_estudiante;
Utilizacin del comodn *.

Si quisisemos seleccionar todos los campos, es decir, toda la tabla


tabla, podramos
utilizar el comodn * del siguiente modo:

Ejemplo:
Ejemplo SELECT * from info_estudiante;
La clusula WHERE

Resulta tambin muy til el filtrar los registros mediante condiciones que vienen
expresadas despus de la clusula Where.
Where

Sintaxis:
Sintaxis SELECT nombre_campo1, nombre_campo2,... from nom_tabla WHERE

nombre_campo1, nombre_campo2,... Operador_comparacin valor;

Ejemplo:
Ejemplo Si quisisemos mostrar los estudiantes del plan 2708 usaramos una
expresin como esta:

SELECT * from info_estudiante WHERE cod_plan = 2708;

Actualizacin
UPDATE es la instruccin que nos sirve para modificar nuestros registros.
Necesitamos especificar por medio de la clusula WHERE cules son los registros

en los que queremos hacer efectivas nuestras modificaciones. Adems,


obviamente, tendremos que especificar cules son los nuevos valores de los
campos

que

deseamos

Sintaxis:
Sintaxis

UPDATE

actualizar.

nombre_tabla

set

La

sintaxis

es

nombre_campo1

de

este

tipo:

valor_campo1,

nombre_campo2 = valor_campo2,... WHERE condiciones_de_seleccin;

Ejemplo:
Ejemplo Si quisisemos actualizar el nombre del estudiante PEDRO PEREZ, por
PEDRO DE JESUS PEREZ usaramos una expresin como esta:

UPDATE info_estudiante set nombre = 'PEDRO DE JESUS' WHERE codigo


= 200700001;

Aqu tambin hay que ser cuidadoso de no olvidarse de usar WHERE, de lo

contrario, modificaramos todos los registros de nuestra tabla.


Eliminacin

Para borrar un registro nos servimos de la instruccin DELETE. En este caso

debemos especificar cual o cuales son los registros que queremos borrar. Es por

ello necesario establecer una seleccin que se llevara a cabo mediante la clusula
WHERE.

Sintaxis:
Sintaxis DELETE from nombre_tabla WHERE condiciones_de_seleccin;
Ejemplo:
Ejemplo Si quisisemos eliminar el registro del estudiante PEDRO DE JESUS
PEREZ usaramos una expresin como esta:

DELETE from info_estudiante WHERE codigo = 200700001;


Aqu tambin hay que ser cuidadoso de no olvidarse de usar WHERE, de lo
contrario, eliminaramos todos los registros de nuestra tabla.
Ordenar los registros
Se puede especificar el orden en que se desean recuperar los registros de una
tabla mediante la clusula ORDER BY, donde si no se especifica el orden, por
defecto ser ascendente.

Sintaxis:
Sintaxis SELECT nombre_campo1, nombre_campo2,... from nom_tabla
ORDER BY (ASC o DESC) nombre_campo1, nombre_campo2,...;

Ejemplo:
Ejemplo Si quisisemos listar todos los registros de la tabla info_estudiante por

codigo utilizaramos una sentencia como la siguiente:

SELECT * from info_estudiante ORDER BY codigo;


Tambin podemos incluir la clusula WHERE para filtrar la informacin, asi:
Sintaxis:
Sintaxis SELECT nombre_campo1, nombre_campo2,... from nom_tabla
WHERE nombre_campo1, nombre_campo2,... Operador_comparacin valor
ORDER BY (ASC o DESC) nombre_campo1, nombre_campo2,...;

Consultas por Texto


Texto
Hasta ahora solo hemos realizado consultas por valores numricos, pero el

operador LIKE nos permite consultar campos de tipo carcter.

Sintaxis:
Sintaxis SELECT nombre_campo1, nombre_campo2,... from nom_tabla
WHERE nombre_campo1, nombre_campo2,... LIKE valor;

Ejemplo:
Ejemplo Si quisisemos listar todos los registros de la tabla info_estudiante donde
el apellido del estudiante sea PEREZ utilizaramos una sentencia como la
siguiente:

SELECT * from info_estudiante WHERE apellido LIKE 'PEREZ';


Selecciones sin coincidencia
coincidencia
Una opcin interesante es la de efectuar selecciones sin coincidencia.
coincidencia Para tal fin
se utiliza el predicado DISTINT.

Sintaxis:
Sintaxis SELECT DISTINCT nombre_campo1 from nom_tabla;
Ejemplo:
Ejemplo Si por ejemplo buscsemos el saber en qu planes acadmicos se

encuentran matriculados los estudiantes sin necesidad de que para ello aparezca
varias veces el mismo cdigo del plan usaramos una sentencia de esta clase:
SELECT DISTINCT cod_plan from info_estudiante;

As evitaramos ver repetido los cdigos de los planes

estudiantes existan en la tabla.

tantas veces como

Rango de consulta
Cuando se quieren recuperar cierta cantidad de registros se utiliza el predicado

TOP. TOP devuelve un cierto nmero de registros que entran entre al principio o al
final de un rango.

Sintaxis:
Sintaxis SELECT TOP num_registros nombre_campo1, nombre_campo2,
... from nom_tabla;

Calcular el total de registros


Si quisiramos calcular el numero total de registros de una tabla utilizaramos la
funcin de Agregado o criterio de agrupamiento COUNT, el cual calcula el nmero
de registros devueltos por una consulta.

Sintaxis:
Sintaxis SELECT COUNT(exp o nombre_campo) AS alias from nom_tabla;
COUNT simplemente cuenta el nmero de registros sin tener en cuenta
qu valores se almacenan en los registros. La funcin COUNT no cuenta los

registros que tienen campos null a menos que expr sea el carcter comodn
asterisco (*). Si utiliza un asterisco, COUNT calcula el nmero total de registros,

incluyendo aquellos que contienen campos null. COUNT (*) es considerablemente


ms rpida que COUNT (nombre_campo).

Ejemplo:
Ejemplo SELECT COUNT(*) AS cant from info_estudiante;

Você também pode gostar