Material by @damiande | http://damiandeluca.com.ar
SQL Structured Query Language
Es un lenguaje de consulta estructurado que permite
indicar las operaciones que se realizarn sobre una base de datos del tipo relacional.
Material by @damiande | http://damiandeluca.com.ar
Un poco de historia y Los predecesores llegaron de la mano de IBM en la dcada del 70 (SEQUEL) y Su primera versin aparece en el ao 1986 y se la conoce como SQL-86 o SQL1. Es la primera publicacin realizada por ANSI (Instituto Nacional Estadounidense de Estndares) y Confirmada por ISO (Organizacin Internacional para la Estandarizacin) en 1987. y En 1992 surge una revisin mayor que se conoce como SQL92 o SQL2. y La ltima revisin es la 2008 (donde se agregan algunas sentencias). y Ms info en: http://es.wikipedia.org/wiki/SQL.
Material by @damiande | http://damiandeluca.com.ar
Bases de datos que soportan SQL y Puede utilizarse con bases de datos relacionales. Entre las que podemos destacar: MS Access MS SQL Server MySQL PostgreSQL Oracle
Material by @damiande | http://damiandeluca.com.ar
SQL (componentes) y Comandos: existen para la creacin de una DB, Tabla o Columna (CREATE, DROP o ALTER) y para la consulta y ABM de datos (SELECT, INSERT, UPDATE y DELETE) y Clausulas: son las condiciones que deben cumplirse para realizar una operacin (FROM, WHERE, ORDER BY, etc.). y Operadores: lgicos (AND, OR, etc.) y de comparacin (mayor, menor igual, etc.). y Funciones de agregado: se utilizan con SELECT para trabajar sobre un grupo de registros. Por ejemplo: SUM, MAX, MIN, COUNT, etc.. y Lectura recomendada: http://www.desarrolloweb.com/articulos/tipos-de-sentencias- sql.html
Material by @damiande | http://damiandeluca.com.ar
Creacin de una base de datos desde SQL y Si bien lo podemos hacer de manera visual (como vimos en clases anteriores), tambin podemos crear una base desde SQL con la siguiente sintaxis: CREATE DATABASE db_nombre y Tambin se puede especificar que verifique si no existe antes de crearla: y CREATE DATABASE IF NOT EXISTS db_nombre
Material by @damiande | http://damiandeluca.com.ar
Creacin de una tabla desde SQL y Para crear una tabla lo hacemos con CREATE de la siguiente forma: CREATE TABLE nombre_tabla Ej: CREATE TABLE empleados y Al crear la tabla tambin podremos crear los campos y definir su tipo y algunas de sus caractersticas. Ej: CREATE TABLE clientes ( Nombre varchar(50), Apellido varchar(50), Direccion varchar(50), Ciudad varchar(50), Pais varchar(25) )
Material by @damiande | http://damiandeluca.com.ar
Tambin se pueden definir otras caractersticas al definir los campos y Create Table pedidos ( id_pedido INT(4) NOT NULL AUTO_INCREMENT, id_cliente INT(4) NOT NULL, id_articulo INT(4)NOT NULL, fecha DATE, cantidad INT(4), total INT(4) ) y Ver ejemplos en: http://www.conclase.net/mysql/curso/?cap=007 Material by @damiande | http://damiandeluca.com.ar Especificar claves de una tabla Al definir una columna de nuestra base podemos definir: nombre_col tipo [NOT NULL | NULL] [DEFAULT valor_por_defecto] [AUTO_INCREMENT] [[PRIMARY] KEY] [COMMENT 'string'] Al definir una columna de nuestra base podemos definir: Ver ejemplos en: http://www.conclase.net/mysql/curso/?cap=0 07a#007_defcreacion Material by @damiande | http://damiandeluca.com.ar Formato de Fechas y Si utilizamos TIMESTAMP podemos insertar la fecha y hora actual con CURRENT_TIMESTAMP. Ver ms en: http://dev.mysql.com/doc/refman/5.0/es/timestam p-4-1.html. y Tipos de Fecha y hora: http://dev.mysql.com/doc/refman/5.0/es/date-and- time-types.html. http://dev.mysql.com/doc/refman/5.0/es/datetime.html Para probar en XAMPP: http://dev.mysql.com/doc/refman/5.0/es/date-and- time-functions.html.
Material by @damiande | http://damiandeluca.com.ar
Establecer formato de fecha y Es posible utilizar la funcin DATE_FORMAT para establecer el formato de fecha. y Tabla de formato: http://conclase.net/mysql/curso/?sqlfun=DATE _FORMAT http://www.blog.inguille.com/?p=70. y Tal vez esta pgina nos ayude con este trabajo y nos muestre la sintaxis: http://www.mysqlformatdate.com/ Material by @damiande | http://damiandeluca.com.ar ALTER y Permite modificar la estructura de una tabla existente. Por ejemplo, se pueden aadir o eliminar columnas, crear y destruir ndices, cambiar el tipo de una columna existente o renombrar columnas o la propia tabla. Tambin es posible modificar el comentario y el tipo de la tabla. y Ver ms en: http://mysql.conclase.net/curso/?sqlsen=ALT ER_TABLE. Material by @damiande | http://damiandeluca.com.ar Insertar (INSERT) y INSERT INTO permite agregar uno o varios registros a una tabla. Inserta filas en una tabla creada previamente. y La sintaxis es: INSERT INTO Table1 VALUES (value1, value2, value3) INSERT INTO Table1 (Column1, Column2, Column3) VALUES (Value1, Value2, Value3) y Ejemplo: INSERT INTO Customers (FirstName, LastName) VALUES ('Peter', 'Hunt') y Insert tambin puede responder a opciones de prioridad: http://conclase.net/mysql/curso/?sqlsen=INSERT.
Material by @damiande | http://damiandeluca.com.ar
Mostrar los datos y SQL nos ofrece opciones para recuperar los datos y poder mostrarlos. y Es importante comprender que no siempre mostraremos todos los datos de una DB, sin siquiera de una tabla. Podremos filtrar columnas y tambin registros, segn lo que necesitemos mostrar.
Material by @damiande | http://damiandeluca.com.ar
Seleccin (SELECT) y Permite recuperar la informacin guardada en una tabla. La sintaxis y lgica bsica de recuperacin es: y SELECT Campos FROM Tabla y Ver ejemplos bsicos en. http://en.wikipedia.org/wiki/Select_%28SQL%29 http://www.w3schools.com/sql/sql_syntax.asp http://www.w3schools.com/sql/sql_select.asp Para probarlo en vivo: x http://www.w3schools.com/sql/sql_tryit.asp Material by @damiande | http://damiandeluca.com.ar UPDATE y Actualiza campos de filas existentes de una tabla incorporando nuevos valores. y La clusula SET permite especificar las columnas a modificar y los valores que deben tomar. y Si se especifica WHERE permite indicar qu filas deben ser actualizadas. y Ejemplo: y UPDATE tbl_name SET col_name1=expr1 WHERE where_definition
Material by @damiande | http://damiandeluca.com.ar
DELETE y Permite borrar registros de una tabla. y Se define de la siguiente forma: DELETE FROM nombre_tabla WHERE condicion y Ver ejemplo: http://www.w3schools.com/Sql/sql_delete .asp.
Material by @damiande | http://damiandeluca.com.ar
Operadores lgicos y Se declaran de la siguiente forma: <expresin1> operador <expresin2> y AND: Significa "y" en ingls. Dadas 2 condiciones nos devuelve verdadero si ambas son ciertas. y OR: Significa "o" en ingls. Dadas 2 condiciones nos devuelve verdadero si alguna es cierta (o si ambas son ciertas). y NOT: significa negacin. Nos devuelve el valor contrario de la expresin dada. y XOR: hace unadisyuncin lgica exclusiva. Es un o exclusivo. Bsicamente si los 2 valores comparados son verdaderos o ambos son falsos devuelve falso. En caso contrario devuelve verdadero. Si hacemos ratones XOR gatos", traer las coincidencias donde se encuentre uno u otro, pero no si se cumplen las dos o ninguna de las dos. y EQV: se utiliza para expresiones y busca que los dos valores sean idnticos (igualdad lgica). Si los dos son iguales (2 falsos o 2 verdaderos) devuelve verdadero. Caso contrario devuelve falso. y IMP: es una implicacin lgica ("Si... entonces..."). Si la primera expresin es verdadera el resultado ser el mismo de la segunda expresin (verdadero, falso o null). Si la primera expresin es Falso, el resultado ser siempre verdadero. Si la primera expresin es null, el resultado ser null, salvo que la segunda expresin sea verdadera, en cuyo caso ser verdadero.
y Ver tabla en: http://www.asptutor.com/sql/sql3.asp.
Material by @damiande | http://damiandeluca.com.ar
Menor / Mayor / Igual y < Menor que y > Mayor que y <> Distinto de y <= Menor Igual que y >= Mayor Igual que y = Igual que
y Ver ejemplos de uso:
http://www.programacion.com/articulo/vbscr ipt_230/3. Material by @damiande | http://damiandeluca.com.ar WHERE y Significa Dnde. y Permite especificar la condicin que debe cumplir la/s fila/s a recuperar. y En SQL puede utilizarse para seleccionar o para borrar. y Admite operadores lgicos. y Ej: SELECT patente, marca, modelo, color, numero_kilometros, FROM tablaAutos WHERE patente = AAA-125' OR patente = EEE-152' ; y Ver ejemplos en: http://en.wikipedia.org/wiki/Where_%28SQL%29.
Material by @damiande | http://damiandeluca.com.ar
ORDER BY y Significa Ordenar por. y Ofrece el resultado ordenado por las columnas especificadas. El orden puede ser ASC (ascendente) o DESC (descendente). Valor predeterminado: ASC. y Para utilizar ORDER BY, debemos especificar el nombre de la columna o su nmero de orden. y Ver ejemplo: http://www.aulaclic.es/sql/t_2_2.htm.
Material by @damiande | http://damiandeluca.com.ar
GROUP BY y Permite especificar la agrupacin que se tendrn los datos. Se emplea junto con las con funciones agregadas. y Group by permite elegir las columnas por las que vamos a agrupar. y Ejemplo: http://www.alejandrox.com/2007/04/grou p-by-y-having-en-sql/
Material by @damiande | http://damiandeluca.com.ar
HAVING y Permite indicar una condicin que debe cumplirse para los datos. Es similar a WHERE pero para un conjunto de resultados devueltos por la consulta. Se aplica junto a GROUP BY y la condicin debe estar referida a los campos contenidos en ella. y Ejemplo: http://en.wikipedia.org/wiki/Having_%28S QL%29. Material by @damiande | http://damiandeluca.com.ar Intervalos y Los intervalos se definen con BETWEEN (entre). y Ejemplo en: http://sql.1keydata.com/es/sql- between.php.
Material by @damiande | http://damiandeluca.com.ar
IN y Nos devuelve los registros cuyo campo indicado coincide con los de una lista dada. Tambin puede trabajar con NOT. Por ejemplo Not In(valor1, valor2, . . .) y Ejemplo: http://sql.1keydata.com/es/sql- in.php.
Material by @damiande | http://damiandeluca.com.ar
Funciones de Agregado y Trabajan con un SELECT en grupos de registros. y AVG: permite calcular el promedio de los valores de un campo. y COUNT: devuelve el nmero de registros de la seleccin. y SUM: devuelve la suma de todos los valores de un campo . y MAX: devuelve el valor ms alto de un campo. y MIN: devuelve el valor ms bajo de un campo.
Material by @damiande | http://damiandeluca.com.ar