You are on page 1of 5

CURSO DE SQL

Este curso le servir para aprender que es el sql y como se maneja para poder realizar enlaces y peticiones de datos a una base de datos. El curso se ir aumentando conforme se apliquen nuevas formas de gestionar informacin y manejarla de manera eficaz y rpida mediante el Sql. Aunque es un curso principalmente terico, los conocimientos pueden ser aplicados a cualquier gestor de base de datos actuales y futuros que soporten SQ .

Capitulo 1 : Introduccion al Sql

Que es el Sql ? !ace algunos a"o, empez a dar aparicin un sistema de getin de bases de datos, que se #a convertido en un estandar en la gestin de datos. SQ son la iniciales de Structured Query anguage, osea $onsultas mediante enguaje Estructurado. Aunque %ste sistema de gestin de datos, debe estar disponible en aquellas mquinas donde deseemos trabajar bajo %ste lenguaje, la mayor&a de los ordenadores ya tienen disponible dic#o sistema de trabajo. Para que se usa En la gestin de datos, es necesario utilizar un lenguaje que sea fcil, sencillo en manejo y rpido. El Sql nos ofrece ampliamente dic#as opciones mediante consultas generales bajo determinados parmetros que nosotros le especificamos. Es en realidad un selector de datos, que conecta con la base de datos que le indicamos y se mueve uno a uno por todos los registros de la base filtrando y analizando los datos para encontrar lo que nosotros le especificamos.

Capitulo 2 : El Sql

$uando se #abla de tipos de Sql, en realidad se #abla de soporte de instrucciones. El Sql es un lenguaje estructurado en instrucciones, que cumplen determinadas funciones dentro del propio lenguaje. El motivo de que est%n o no soportadas algunas de esas instrucciones, depende del tipo de gestor de sql, que tengamos o que vayamos a usar. 'ic#o sistema de soporte de Sql, en realidad lo que nos ofrece es la gestin de una base de datos mediante Sql, a trav%s de determinadas instrucciones, que puede o no que est%n disponibles.

(ara averiguar que instrucciones tenemos disponibles para la gestin de datos, deberemos ir a la ayuda del propio sistema que vayamos a usar y comprobar que instrucciones de Sql nos ofrece. $uando #ablo de Sistema o gestor de Sql, me refiero a que sistema o lenguaje de programacin vamos a usar, desde )isual *asic, $++, 'elp#i, etc... $ada uno de ellos y otros muc#os, soportan el Sql, en determinadas instrucciones, que pueden ser todas las del propio sql o solo algunas de ellas. Es por esto por lo que debemos consultar la ayuda t%cnica antes de programar un sistema basado en sql, pues puede que estemos intentando usar instrucciones de sql que no nos permite por que no est%n soportadas, y ello nos dar&a errores.

Capitulo 3 : La orden Select

$omo #emos visto en cap&tulos anteriores, el lenguaje sql ,est contenido por instrucciones que manejan los datos que contienen las bases de datos. ,na de esas intrucciones es SelectEsta instruccin lo que #ace es elegir un campo de la base de datos en concreto o seleccionar todos los campos, ejemplo,na base de amigos en la que guardamos, .ombre, Apellidos, /elefono. os campos son .ombre, Apellidos y /elefono. El Select ser&aSelect nombre : con esto seleccionamos el campo .ombre al cual despues le aplicamos una determinada instruccion, como buscar a los 0ose, (edro, etc... , al igual en vez de poner nombre podemos elegir cualquiera de los otros campos de que se compone la base de datos. Select *: $on esto seleccionamos todos los campos, indistintamente de cuantos campos tengamos, ya sean tres como antes o ms, da igual el n1mero de campos, con esto los seleccionamos todos.

Estas son las dos opciones que nos da la instruccin Select. A la #ora de usar la instruccin Select, debemos tener en cuenta que2 3sta instruccin no modifica la base de datos ni su contenido. 2 /odos los sistemas que usan Sql , tiene/n esta instruccin disponible. 2 a sintesis m&nima de Select es Select 2 from /abla, from se utiliza para especificar cual de las tablas es la que vamos a usar, si no conoce que es una tabla, le aconsejo que vaya al curso de *ase de 'atos.

4tro uso de Select es Select $ampo as variable from tabla $on %sta orden #acemos lo siguiente, supongamos que tenemos un campo muy largo, como 5ec#aaltaafiliacion, como este campo tiene un nombre muy largo, podemos asignarle una variable que sea mas peque"a, osea que ser&aSelect 5ec#aaltaafiliacion as fealta from tabla , con esto conseguimos que la variable fealta que es ms fcil de conocer, contenga los datos de 5ec#aaltaafiliacion.

Capitulo 4 : La orden From

5rom significa desde, con esta orden #acemos referencia a la tabla que vamos a usar, el formato seria asiSelect 2 from tabla

$on esto especificamos que seleccionamos 6select7 todos 627 desde la tabla , la tabla sera sustitutida por el nombre de nuestra tabla o base de datos, supongamos que tenemos una tabla llamada $lientes y que dentro tenemos los datos de todos nuestros clientes, para poder #acer uso de ellas, #ariamos esto-

Select 2 5rom clientes

o que #emos #ec#o es seleccionar con el Select todos los registros 6clientes7 que tiene la base de datos, pues le #emos puesto el asterisco 627 que significa que lo coga todo, osea que cogeria todos los clientes que tuvieramos en ese momento dentro de la base de clientes, pues con el from le decimos que de donde tiene que cogerlo todo es desde la base clientes.

Capitulo 5 : La orden Where

8#ere significa donde y la usaremos para #acer referencia a algo en concreto dentro de un campo de la base de datos 6tabla7. Supongamos que tenemos la base de datos de clientes y la #emos seleccionadoSelect 2 from clientes Esto como ya sabemos nos coge a todos los clientes que en ese momento #aya dentro de la base de datos $lientes, pero y si nosotros quisieramos solo los que se llamasen por ejemplo 0,A., tendriamos que cogerlos todos y tener que comprobarlos uno a uno y ver como se llaman, pero con la clausula 8#ere no es necesario, pues lo #ace por nosotros.

8#ere solo necesita dos parametros, el nombre del campo donde tiene que buscar y lo que tiene que buscar, lo demas lo #ace sola.

Entonces, en nuestra base de datos $lientes, tendriamos un campo que se llama .ombre y dentro de el, estan los nombre de cada uno de los clientes en sus respectivas fic#as. (ara sacar a aquellos que se llamasen 0,A., solo tendriamo que #acer esto-

Select 2 from clientes 9#ere nombre:;0,A.;, puede ser que en vez de estas comillas ;, sean comillas dobles <, o tambien que no use comillas, osea que ira el nombre directamente, esto depende del programa que estemos usando, pero no #abra mas problemas al respecto. Esta orden, lo que #ace es coger uno a uno todos los clientes e ir comprobando que en el campo .ombre, se encuentre o no 0,A., si se encuentra , entonces lo seleccionara para mostrarlo despues, si no estuviera dic#o nombre entonces lo ignoraria, como es obvio el a#orro de tiempo es muy grande. (ero ademas, la clausula 8#ere tiene unos parametros para #acer mas completo su uso-

SELECT * FROM clientes WHERE edad> !" #$D edad% &' Esto selecciona todos los clientes con edades comprendidas entre los => y los ?@ a"os. SELECT * FROM clientes WHERE (ro)incia *M#DR+D* OR (ro)incia *,#LE$C+# OR (ro)incia *-#RCELO$#* Esto selecciona todos los campos de la tabla ;clientes;, pero los registros de todos los clientes de las provincias de ;AA'BC';, ;)A E.$CA; o ;*AB$E 4.A;. SELECT nombre. a(ellidos FROM clientes WHERE edad> /" Esto selecciona los campos ;nombre; y ;apellidos; de la tabla clientes, escogiendo a aquellos clientes que sean mayor de edad 6masr o igual que D> a"os7. SELECT * FROM clientes WHERE edad -ETWEE$ /" #$D 01 Esto selecciona todos los clientes con edades comprendidas entre los D> y los EF a"os. SELECT * FROM c2entas WHERE 3ec4a 567/7865 Esto selecciona los apuntes de ;cuentas; realizados el D de 0ulio de D.GGH 6la fec#a #a de indicarse en ingl%s 6mesId&aIa"o77. SELECT * FROM c2entas WHERE 3ec4a -ETWEE$ 567/7865 #$D 567&/7865 Selecciona los apuntes de ;diario; realizados en 0ulio de D.GGH. SELECT * FROM clientes WHERE nombre L+9E *:U** Esto selecciona los clientes cuyo nombre comience con los caracteres ;0,;. SELECT * FROM clientes WHERE a(ellidos L+9E **#M* Esto selecciona los clientes cuyos apellidos terminen con los caracteres ;AA;. SELECT * FROM clientes WHERE a(ellidos L+9E **;#RC+** Esto selecciona los clientes cuyos apellidos contengan, en cualquier posicin, los caracteres ;JAB$C;.

Capitulo 6 : La orden Order

a clusula 4B'EB *K se escribe al final de un mandato en SQ , esta clusula establece un criterio de ordenacin de los datos de la consulta, por los campos que se especifican en dic#a clusula.

a ordenaciLn se puede realizar tanto es ascendente como descendente ademMs de realizar la ordenaciLn con respecto al tipo de campo que se ordena. a CnstrucciLn normal es(...) ORDER BY campo1 [ASC/DESC [!campo" [ASC/DESC ... as palabras reservadas AS$I'ES$ indican el orden del campo ser de tipo ascendiente 6NOG AOP7, mientras que, si se especifica la palabra reservada 'ES$, se indica que el orden del campo es descendiente 6GON POA7. 'e no especificarse ninguna de las do, 4B'EB *K toma, por defecto, el tipo ascendiente QAS$R. Crea 2na a<enda tele3=nica de *clientes* ordenada (or *a(ellidos* > *nombre*? SE#EC$ %om&re! apell'(os! )ele*o%o +RO, cl'e%)es ORDER BY apell'(os! %om&re-

Belacin de ;pedidos; ordenados desde el ms antiguo #asta el ms moderno. SE#EC$ . +RO, pe('(os ORDER BY *ec/a DESCBelacin de ;abonados; por ;apellidos; y ;nombre; ascendientemente, y por ;fec#aSnacimiento; en orden SE#EC$ . +RO, a&o%a(os ORDER BY apell'(os! %om&re! *ec/a0%ac'm'e%)o DESC-

You might also like