Click here to load reader

SQL - Tutorial Basico

  • View
    503

  • Download
    12

Embed Size (px)

Text of SQL - Tutorial Basico

Tutorial de SQLTemas Bsicoswww.devjoker.com

2007Traspaso a pdf: Edgar Talamantes

COONTENIDOIntroduccin SQL El lenguaje SQL Componentes del lenguaje SQL Tipos de datos. Operadores Palabras Clave Funciones Agregadas Predicados Tablas Nomenclatura Creacin de tablas Modificacin de tablas Eliminacin de tablas. Indices Introduccin a los ndices. Creacin de ndices Vistas Vistas Creacin de vistas. Sinnimos Consultar datos. SELECT Consulta de datos. La sentencia SELECT La clusula WHERE La clusula ORDER BY Insertar datos. INSERT Insertar datos. Insercin de filas Insercin individual de filas Insercin multiple de filas

Borrado de datos. DELETE La sentencia DELETE. La sentencia TRUNCATE Actualizacin de datos. UPDATE La sentencia UPDATE. Uso de subconsultas con UPDATE Consultas combinadas. JOINS Consultas combinadas. Combinacin interna. Combinacin Externa Union Consultas agregadas La clusula GROUP BY La clusula HAVING AVG Count Max, Min Sum Subconsultas Definicin de subconsultas. Referencias externas Anidar subconsultas Utilizacion de subconsultas con UPDATE La funcin EXISTS

2

SQL.(Structure Query Language)SQL es el lenguaje de consulta universal para bases de datos. Desde esta opcin vamos a tratar los temas relacionados con SQL ANSI 92, que es el standar SQL , ya que luego extinten variantes como T-SQL (Transact-SQL) y PL/SQL (Procedure Language / SQL) que sern tratados en sus propias opciones. SQL propociona metodos para definir la base datos, para manipular la informacin y para gestionar los permisos de acceso a dicha informacin. Para que un gestor de bases de datos sea consisderado como relacional, debe soportar SQL, independientemente de las caracteristicas particulares que dicho gestor pueda aportar. Conocer SQL es conocer las bases de datos, y todo su potencial.

Introduccin a SQLSQL es el lenguaje de consulta universal para bases de datos. Los mandatos de SQL se dividen en tres grandes grupos diferenciados, los cuales sern tratados por separado y que unicamente se presentan aqui a modo introductorio.

DDL(Data Definition Language), es el encargado de la definicin de Bases de Datos, tablas, vistas e ndices entre otros. Son comandos propios de este lenguaje: CREATE TABLE CREATE INDEX CREATE VIEW CREATE SYNONYM

DML(Data Manipulation Language), cuya misin es la manipulacin de datos. A travs de l podemos seleccionar, insertar, eliminar y actualizar datos. Es la parte que ms frecuentemente utilizaremos, y que con ella se construyen las consultas. Son comandos propios de este lenguaje: SELECT UPDATE INSERT INSERT INTO DELETE FROM

3

DCL (Data Control Laguage), encargado de la seguridad de la base de datos, en todo lo referente al control de accesos y privilegios entre los usuarios. Son comandos propios de este lenguaje: GRANT REVOKE

Componentes del lenguaje SQL.Tipos de datos.SQL admite una variada gama de tipos de datos para el tratamiento de la informacin contenida en las tablas, los tipos de datos pueden ser nmericos (con o sin decimales), alfanumricos, de fecha o booleanos(si o no).Segn el gestor de base de datos que estemos utilizando los tipos de datos varian, pero se reducen basicamente a los expuestos anteriormente, aunque en la actualidad casi todos los gestores de bases de datos soportan un nuevo tipo, el BLOB (Binary Large Object), que es un tipo de datos especial destinado a almacenar archivos, imgenes ... Dependiendo de cada gestor de bases de datos el nombre que se da a cada uno de estos tipos puede variar. Bsicamente tenemos los siguientes tipos de datos. Nmericos Integer Numeric(n.m) Decimal(n,m) Float Alfanmericos char(n) varchar(n,m) Fecha Date DateTime Lgico Bit BLOB Image Text

Mas detalladamente tenemos: Tipos de datos nmericos Tipo Defincin Integer Valores enteros con signo. Numeric(n,m) Nmeros reales de hasta 18 digitos (con decimales), donde n representa el total de dgitos admitidos (normalmente denominado precisin) y m el nmero de posiciones decimales (escala). Decimal(n,m) Igual que el tipo numeric. Float Nmero de coma flotante, este tipo de datos se suele utilizar para los valores en notacin cientifica.

Bytes 4 5-17

5-17 4-8

4

Tipos de datos alfanmericos Tipo Defincin Bytes char(n) Almacena de 1 a 255 caracteres alfanmericos. Este valor viene dado 0-255 por n, y es el tamao utilizado en disco para almacenar dato. Es decir si defino un campo como char(255), el tamao real del campo ser de 255, aunque el valor solo contenga 100. varchar(n) Igual que el tipo char, con la salvedad que varchar almacena 0-255 nicamente los bytes que contenga el valor del campo. Nota:El tamao del campo varia en funcin de cada base de datos, siendo 255 el valor standart. En realidad el tamao viene delimitado por el tamao de las pginas de datos, para SQL Server el lmite esta en 8000 bytes (8000 caracteres), siempre y cuando tengamos definido el tamao de la pgina de datos a 8K Tipos de datos fecha Tipo Defincin Bytes Date Almacena fechas, con da, mes y ao. 8 Datetime Almacena fechas con fecha y hora 4 Nota:La aparicin de los tipos de datos de fecha supuso una atentica revolucin el mundo de la bases de datos, en realidad, la base de datos almacena internamente nmeros enteros, de hay que el tamao sea de 4 bytes y 8 bytes (2 enteros), pero aporta la validacin del dato introducido. Tipos de datos lgicos Tipo Definicin Bytes Bit Tipo bit. Almacena un 0 no cero, segn las bases de datos ser 1 -1. 1 bit Se aplica la lgica booleana, 0 es falso y no cero verdadero. Tipos de datos BLOB Tipo Definicin Bytes Image Almacena imgenes en formato binario, hasta un mximo de 2 Gb de 0-2Gb tamao. Text Almacena texto en formato binario, hasta un mximo de 2 Gb de 0-2Gb tamao.

OperadoresLos operadores se pueden definir como combinaciones de caracteres que se utilizan tanto para realizar asignaciones como comparaciones entre datos. Los operadores se dividen en aritmticos, relacionales, lgicos, y concatenacin .

5

Operadores SQL Aritmticos + Suma Resta * Producto / Divisin ** ^ Exponenciacin < Menor que >= != !< !> AND OR NOT Menor o igual que Mayor que Mayor o igual que Distinto No menor que No mayor que Los operadores lgicos permiten comparar expresiones lgicas devolviendo siempre un valor verdadero o falso.Los operadores lgicos se evaluan de izquierda a derecha. Se emplea para unir datos de tipo alfanmerico.

Relacionales

Lgicos

Concatenacin +

Palabras ClaveLas palabras clave son identificadores con un significado especial para SQL, por lo que no pueden ser utilizadas para otro proposito distinto al que han sido pensadas. SQL dispone de muy pocas rdenes, pero de multiples plabras clave, lo que le convierten en un lenguaje sencillo pero tremendamente potente para llevar a cabo su funcin. Palabras Clave ANY BY COUNT DECIMAL DISTINCT FLOAT GROUP INSERT MAX ON REVOKE

ALL AVG CHECK CREATE DELETE EXISTS FROM IN INTO NOT OR

AND BEGIN CLOSE CURSOR DESC FETCH GRANT INDEX LIKE NUMERIC ORDER

ASC CHAR COMMIT DECLARE DEFAULT FOR HAVING INTEGER MIN OPEN ROLLBACK6

SELECT UNION VALUES

SET UNIQUE VIEW

SUM UPDATE WHERE

TABLE USER WITH

Funciones AgregadasLas funciones agregadas proporcionan a SQL utilidades de clculo sobre los datos de las tablas. Estas funciones se incorporan en las consultas SELECT y retornan un nico valor al operar sobre un grupo de registros. Las funciones agregadas son. Funciones Agregadas Devuelve el valor mximo. Devuelve el valor mnimo. Devuelve el valor de la suma de los valores del campo. Devuelve el nmero de filas que cumplen la condicin Devuelve el promedia de los valores del campo

MAX() MIN() SUM() COUNT() AVG()

PredicadosLos predicados son condiciones que se indican en clasula WHERE de una consulta SQL. La siguiente tabla ilustra los predicados de SQL. Predicados SQL BETWEEN...AND Comprueba que al valor esta dentro de un intervalo LIKE Compara un campo con una cadena alfanumrica. LIKE admite el uso de caracteres comodines ALL Seala a todos los elementos de la seleccin de la consulta ANY Indica que la condicin se cumplir si la comparacin es cierta para al menos un elemento del conjunto. EXISTS Devuelve un valor verdadero si el resultado de una subconsulta devuelve resultados. IN Comprueba si un campo se encuentra dentro de un determinado rango. El rango puede ser una sentencia SELECT.

7

No se preocupe si no entiende el significado de alguno de los terminos que hemos presentado aqu, pronto veremos ejemplos que nos aclararn las cosas, de momento nos vale con saber que existen.

Lenguaje de Definicin de datosTablasEl lenguaje de definicin de datos (DDL, Data Definition Language) es el encargado de permitir la descripcion de los objetos que forman una base de datos. El lenguaje de definicin de datos le va a permitir llevar a cabo las siguientes acciones:

Creacin de tablas, ndices y vistas. Modificacin de las estructura de tablas, ndices y vistas. Supresin de tablas, ndices y vistas.

Pero antes de continuar vamos a comentar la nomenclatura que emplearemos, si tiene algn conocimiento de programacin le resultar familiar.

NomenclaturaLa sintaxis empleada para la sentencias en las diferentes pginas esta basada en la notacin EBNF. Vamos a ver el significado de algunos simbolos. Smbolo [] {} | Significado Encierran parmetros de una orden que el usuario debe sustituir al escribir dicha orden por los valores que queramos dar a los parmetros. Indica que su contenido es opcional. Indica que su contenido puede repetirse una o mas veces. Separa expresiones. Indica que pueden emplearse una u otra expresin pero no ms de una a la vez.

Adems las palabras clave aparecen en mayscula negrita y los argumentos en minscula cursiva. La sintaxis de una sentencia tendr un aspecto como este:

CREATE TABLE ( , { } ) ;

8