You are on page 1of 5

Lenguaje SQL

El lenguaje de consulta estructurado o SQL (por sus siglas en ingls structured query language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en estas. Una de sus caractersticas es el manejo del lgebra y el clculo relacional permitiendo efectuar consultas con el fin de recuperar de una forma sencilla informacin de inters de una base de datos, as como tambin hacer cambios sobre ella. Caractersticas generales del SQL El SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas relacionales permitiendo gran variedad de operaciones. Es un lenguaje declarativo de "alto nivel" o "de no procedimiento", que gracias a su fuerte base terica y su orientacin al manejo de conjuntos de registros, y no a registros individuales, permite una alta productividad en codificacin y la orientacin a objetos. De esta forma una sola sentencia puede equivaler a uno o ms programas que se utilizaran en un lenguaje de bajo nivel orientado a registros. Historia del lenguaje SQL El nacimiento del lenguaje SQL data de 1970 cuando E. F. Codd publica su libro: "Un modelo de datos relacional para grandes bancos de datos compartidos". Ese libro dictara las direcrices de las bases de datos relacionales. Apenas dos aos despus IBM (para quien trabajaba Codd) utiliza las directrices de Codd para crear el Standard English Query Language (Lenguaje Estndar Ingls para Consultas) al que se le llam SEQUEL. Ms adelante se le asignaron las siglas SQL (aunque en ingls se siguen pronunciando SEQUEL, en espaol se le llama esecuele). Poco despus se converta en un estndar en el mundo de las bases de datos avalado por los organismos ISO (en 1987) y ANSI (en 1986). An hoy sigue siendo uno de los estndares ms importantes de la industria informtica y est en la inmensa mayora de los SGBD comerciales. Y, aunque la diversidad de aadidos particulares que incluyen las distintas implementaciones comerciales del lenguaje es amplia, el soporte al estndar SQL, es general y muy amplio. Lenguaje de definicin de datos DDL (Data Definition Language) El lenguaje de definicin de datos (en ingls Data Definition Language, o DDL), es el que se encarga de la modificacin de la estructura de los objetos de la base de datos. Incluye rdenes para modificar, borrar o definir las tablas en las que se almacenan los datos de la base de datos. Existen cuatro operaciones bsicas: CREATE, ALTER, DROP y TRUNCATE. Lenguaje de manipulacin de datos DML (Data Manipulation Language) Un lenguaje de manipulacin de datos (Data Manipulation Language, o DML en ingls) es un lenguaje proporcionado por el sistema de gestin de base de datos que permite a los usuarios llevar a cabo las tareas de consulta o manipulacin de los datos, organizados por el modelo de datos adecuado. Entre las operaciones que podemos realizar estn SELECT, INSERT, UPDATE, DELETE.

Lenguaje de control de datos DCL (Data Control Language) Contiene elementos tiles para trabajar en un entorno multiusuario, en el que es importante la proteccin de los datos, la seguridad de las tablas y el establecimiento de restricciones en el acceso, as como elementos para coordinar la comparticin de datos por parte de usuarios concurrentes, asegurando que no interfieren unos con otros. Entre sus operaciones estn GRANT, REVOKE Tipos de Valores de Campos Como sabemos una base de datos est compuesta de tablas donde almacenamos registros catalogados en funcin de distintos campos (caractersticas). Un aspecto previo a considerar es la naturaleza de los valores que introducimos en esos campos. Dado que una base de datos trabaja con todo tipo de informaciones, es importante especificarle qu tipo de valor le estamos introduciendo de manera a, por un lado, facilitar la bsqueda posteriormente y por otro, optimizar los recursos de memoria. 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 Numricos Contienen cifras y letras. Presentan una longitud limitada (255 caracteres) Existen de varios tipos, principalmente, enteros (sin decimales) y reales (con 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 una fecha y otra... Son campos alfanumricos de longitud ilimitada. Presentan el inconveniente de no poder ser indexados.

Booleanos Fechas

Memos

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.

Operadores Comparacin > < >= <= <> Mayor que Menor que Mayor o igual que Menor o igual que Distinto

Lgicos And Or Not

Matematicos + * / Suma Resta Multiplicacin Division

Operadores compuestos Operador Accin += -= *= /= Agrega una cantidad al valor original y establece este en el resultado de la operacin. Resta una cantidad del valor original y establece este en el resultado de la operacin. Multiplica por una cantidad y establece el valor original en el resultado de la operacin. Divide por una cantidad y establece el valor original en el resultado de la operacin.

Operaciones matemticas Desde SQL podemos realizar operaciones a partir de los datos antes de mostrarlos. Por ejemplo, podemos mostrar cual era la edad de una persona hace un ao, con select edad-1 from personas; Los operadores matemticos que podemos emplear son los habituales en cualquier lenguaje de programacin, ligeramente ampliados: + (suma), - (resta y negacin), * (multiplicacin), / (divisin). Ejemplo select 5/2, 5 % 2, Otro ejemplo sera DECLARE @sum int SET @sum = 15 SELECT 20 + @sum

Concatenacin de cadenas Con +=, concatenamos dos cadenas y establecemos como valor de la cadena el resultado de la operacin. Por ejemplo, si una variable @x es igual a 'Adventure', entonces @x += 'Works' toma el valor original de @x, agrega 'Works' a la cadena y establece @x en ese nuevo valor 'AdventureWorks'. El operador += no se puede utilizar sin una variable. DECLARE @n varchar(40); SET @n = 'Juan'; SET @n += ' Perez'; PRINT @n;

CASE Evala una lista de condiciones y devuelve una de las varias expresiones de resultado posibles. La expresin CASE tiene dos formatos: La expresin CASE sencilla compara una expresin con un conjunto de expresiones sencillas para determinar el resultado. La expresin CASE buscada evala un conjunto de expresiones booleanas para determinar el resultado. Ambos formatos admiten un argumento ELSE opcional. CASE se puede utilizar en cualquier instruccin o clusula que permite una expresin vlida. Por ejemplo, puede utilizar CASE en instrucciones como SELECT, UPDATE, DELETE y SET. SQL Server solo permite 10 niveles de anidamiento en las expresiones CASE. Usar una instruccin SELECT con una expresin CASE sencilla En este ejemplo se utiliza la expresin CASE para cambiar la presentacin de categoras de lnea de productos con el fin de hacerla ms comprensible.
SELECT ProductNumber, Category = CASE ProductLine WHEN 'R' THEN 'Road' WHEN 'M' THEN 'Mountain' WHEN 'T' THEN 'Touring' WHEN 'S' THEN 'Other sale items' ELSE 'Not for sale' END, Name FROM Production.Product

Usar una instruccin SELECT con una expresin CASE de bsqueda


En el ejemplo siguiente se presenta el precio de venta como un comentario basado en el intervalo de precios de un producto.
SELECT ProductNumber, Name, "Price Range" = CASE WHEN ListPrice = 0 THEN 'Mfg item - not for resale' WHEN ListPrice < 50 THEN 'Under $50' WHEN ListPrice >= 50 and ListPrice < 250 THEN 'Under $250' WHEN ListPrice >= 250 and ListPrice < 1000 THEN 'Under $1000' ELSE 'Over $1000' END FROM Production.Product

MULTIPRO S.A.
Base de datos: MULTIPRO Tabla: productos ID_PROD (campo llave) MARCA MODELO CANT

1001 1002 1003 1004 1005 1006

DELL DELL APPLE APPLE ACER TOSHIBA

VOSTRO 220 VOSTRO 230 IMAC MAC BOOK PRO ASPIRE SATELITE

7 35 3 11 5 23

You might also like