Introducción a Bases de Datos y SQL
Clase 2
http://javacuriosities.blogspot.com/
Significado SQL
▪ El lenguaje de consulta estructurado o SQL (Structured Query
Language) es un lenguaje declarativo de acceso a bases de
datos relacionales que permite especificar diversos tipos de operaciones
en ellas. Una de sus características es el manejo del álgebra y el cálculo
relacional que permiten efectuar consultas con el fin de recuperar de
forma sencilla información de interés de bases de datos, así como hacer
cambios en ella.
Introduccion a Bases de Datos y SQL
¿ANSI SQL?
ANSI SQL: Es el conjunto de sentencias SQL, aceptadas como estándar de
facto para la gran mayoria de los SGBD.
Introduccion a Bases de Datos y SQL
Sentencias DDL y DML
▪ DDL: Es el lenguaje de definición de datos (Data Definition Language),
es el que se encarga de la modificación 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 básicas: CREATE, ALTER, DROP y TRUNCATE.
▪ DML: Es el lenguaje de manipulación de datos (Data Manipulation
Language) es un lenguaje proporcionado por el sistema de gestión de
base de datos que permite a los usuarios llevar a cabo las tareas de
consulta o manipulación de los datos, organizados por el modelo de
datos adecuado.
Introduccion a Bases de Datos y SQL
Sentencias DDL (Creacion)
Introduccion a Bases de Datos y SQL
Sentencias DDL (Eliminacion/Borrado)
Introduccion a Bases de Datos y SQL
Sentencias DDL (Modificacion)
Introduccion a Bases de Datos y SQL
Indexes y sus tipos
Introduccion a Bases de Datos y SQL
En MySQL hay cinco tipos de índices:
- PRIMARY KEY: Este índice se ha creado para generar consultas
especialmente rápidas, debe ser único y no se admite el almacenamiento de
NULL.
- KEY o INDEX: Son usados indistintamente por MySQL, permite crear índices
sobre una columna, sobre varias columnas o sobre partes de una columna.
- UNIQUE: Este tipo de índice no permite el almacenamiento de valores iguales.
- FULLTEXT: Permiten realizar búsquedas de palabras. Sólo pueden usarse
sobre columnas CHAR, VARCHAR o TEXT.
- SPATIAL: Este tipo de índices solo puede usarse sobre columnas de datos
geométricos (spatial) y en el motor MyISAM.
Sintaxis – CREATE TABLE
Introduccion a Bases de Datos y SQL
http://dev.mysql.com/doc/refman/5.0/es/create-table.html
CREATE TABLE con SELECT
Introduccion a Bases de Datos y SQL
Temporary Tables
Introduccion a Bases de Datos y SQL
En MySQL podemos crear tablas temporales, la ventaja de estas tablas es
que son solo visibles dentro de la conexión en cuales fueron creadas y al
cerrar la conexión serán eliminadas, de esta manera dos personas con
distintas conexiones podrían usar el mismo nombre para una tabla del tipo
temporal. Además estas tablas son borradas automáticamente al cerrar la
conexión.
En general se usan para cálculos auxiliares ya sea consolidar datos o
aplicar criterios de búsqueda o agrupación.
Sintaxis – ALTER TABLE
Introduccion a Bases de Datos y SQL
http://dev.mysql.com/doc/refman/5.0/es/alter-table.html
Sintaxis – RENAME TABLE
Introduccion a Bases de Datos y SQL
http://dev.mysql.com/doc/refman/5.0/es/rename-table.html
Comando DESCRIBE
Introduccion a Bases de Datos y SQL
Sentencias DML (Consultas)
Introduccion a Bases de Datos y SQL
▪ SELECT: Usamos las sentencias “Select” para obtener los datos desde
una fuente de datos, podría ser una tabla o una vista.
http://dev.mysql.com/doc/refman/5.0/es/select.htm
l
SELECT
Introduccion a Bases de Datos y SQL
SELECT + WHERE
Introduccion a Bases de Datos y SQL
▪ La clausula “WHERE” es donde podemos poner nuestras condiciones de
filtrado de datos
Operadores de comparación
Introduccion a Bases de Datos y SQL
Operador Descripción
<= Menor o igual
< Menor
> Mayor
>= Mayor o igual
!=, <> Distinto
<=> Comparación Segura
▪ El operador “=“ devuelve siempre NULL si alguna de las dos partes es
NULL en cambio el operador “<=>” compara el valor contra NULL y
devuelve su valor de verdad. Si ambos son NULL retorna 1, y en el caso
de un NULL retorna 0.
Operadores lógicos (AND / OR)
Introduccion a Bases de Datos y SQL
Expr 1 Expr 2 Expr 1 AND Expr 2
FALSO FALSO FALSO
FALSO VERDADERO FALSO
VERDADERO FALSO FALSO
VERDADERO VERDADERO VERDADERO
FALSO NULL FALSO
NULL FALSO FALSO
VERDADERO NULL NULL
NULL VERDADERO NULL
Expr 1 Expr 2 Expr 1 OR Expr 2
FALSO FALSO FALSO
FALSO VERDADERO VERDADERO
VERDADERO FALSO VERDADERO
VERDADERO VERDADERO VERDADERO
FALSO NULL NULL
NULL FALSO NULL
VERDADERO NULL VERDADERO
NULL VERDADERO VERDADERO
AND OR
Operadores lógicos (XOR)
Introduccion a Bases de Datos y SQL
Expr 1 Expr 2 Expr 1 XOR Expr 2
FALSO FALSO FALSO
FALSO VERDADERO VERDADERO
VERDADERO FALSO VERDADERO
VERDADERO VERDADERO FALSO
FALSO NULL NULL
NULL FALSO NULL
VERDADERO NULL NULL
NULL VERDADERO NULL
Sentencia Between
Introduccion a Bases de Datos y SQL
▪ La sentencia “Between” se usa para filtrado por rangos. Esta se puede
aplicar con números, fechas. Se puede usar con el NOT.
Sentencia IN
Introduccion a Bases de Datos y SQL
▪ La sentencia “IN” se usa para filtrado por un conjunto de valores, cada
valor debe estar separado por coma. Se puede usar con el NOT.
Sentencia LIKE
Introduccion a Bases de Datos y SQL
▪ La sentencia “LIKE” se usa para filtrado usando un patrón, ósea podemos
filtrar los datos los cuales la columna seleccionada cumple con el patrón
ingresado. También podemos utilizar NOT LIKE. Funciona sobre
cualquier tipo de columna números, texto, fechas.
Sentencia ORDER BY
Introduccion a Bases de Datos y SQL
▪ La sentencia “ORDER BY” nos permite definir un criterio para el orden y
definir en que forma queremos ordenar los datos, se puede usar una
columna sola o N columnas.
Clausula COLLATE
Introduccion a Bases de Datos y SQL
▪ La clausula “COLLATE” se usa para definir cual es el collation que
queremos usar para esa comparación o ordenamiento en ese momento.
TRUNCATE TABLE
Introduccion a Bases de Datos y SQL
▪ La sentencia TRUNCATE TABLE nos permite dejar vacía una tabla de
forma simple y sencilla.
Truncate Delete
DDL DML
Desasigna las paginas de memoria Remueve fila por fila
Rapido Lento
No dispara DELETE Triggers Dispara DELETE Triggers
Resetea AUTO_INCREMENT No Resetea AUTO_INCREMENT
Menor Locking Mayor Locking
Remueve todas las paginas Puede dejar paginas en blanco
Producto Cartesiano I
Introduccion a Bases de Datos y SQL
▪ El PRODUCTO CARTESIANO es uno de los problemas mas típicos y
peligrosos que podemos tener con nuestras sentencias SELECTs.
Producto Cartesiano II
Introduccion a Bases de Datos y SQL
Escapear Caracteres
Introduccion a Bases de Datos y SQL
Esta es la forma que debemos escapear los caracteres si los usamos con
el operador =, si los usáramos con el operador LIKE debemos agregar una
o mas barras dependiendo el caso. Esto por que el LIKE remueve una  al
hacer el parseo y otra al hacer la comparación.
Escape with = Escape with Like Character Represented by Sequence
'
'
A single quote (“'”) character.
" " A double quote (“"”) character.
b b A backspace character.
n
n
A newline (linefeed) character.
r
r
A carriage return character.
t
t
A tab character.
Z
Z
ASCII 26 (Control+Z). See note following the table.


A backslash (“”) character.
% % A “%” character. See note following the table.
_
_
A “_” character. See note following the table.

Base de datos - Clase 2

  • 1.
    Introducción a Basesde Datos y SQL Clase 2 http://javacuriosities.blogspot.com/
  • 2.
    Significado SQL ▪ Ellenguaje de consulta estructurado o SQL (Structured Query Language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en ellas. Una de sus características es el manejo del álgebra y el cálculo relacional que permiten efectuar consultas con el fin de recuperar de forma sencilla información de interés de bases de datos, así como hacer cambios en ella. Introduccion a Bases de Datos y SQL
  • 3.
    ¿ANSI SQL? ANSI SQL:Es el conjunto de sentencias SQL, aceptadas como estándar de facto para la gran mayoria de los SGBD. Introduccion a Bases de Datos y SQL
  • 4.
    Sentencias DDL yDML ▪ DDL: Es el lenguaje de definición de datos (Data Definition Language), es el que se encarga de la modificación 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 básicas: CREATE, ALTER, DROP y TRUNCATE. ▪ DML: Es el lenguaje de manipulación de datos (Data Manipulation Language) es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios llevar a cabo las tareas de consulta o manipulación de los datos, organizados por el modelo de datos adecuado. Introduccion a Bases de Datos y SQL
  • 5.
  • 6.
  • 7.
  • 8.
    Indexes y sustipos Introduccion a Bases de Datos y SQL En MySQL hay cinco tipos de índices: - PRIMARY KEY: Este índice se ha creado para generar consultas especialmente rápidas, debe ser único y no se admite el almacenamiento de NULL. - KEY o INDEX: Son usados indistintamente por MySQL, permite crear índices sobre una columna, sobre varias columnas o sobre partes de una columna. - UNIQUE: Este tipo de índice no permite el almacenamiento de valores iguales. - FULLTEXT: Permiten realizar búsquedas de palabras. Sólo pueden usarse sobre columnas CHAR, VARCHAR o TEXT. - SPATIAL: Este tipo de índices solo puede usarse sobre columnas de datos geométricos (spatial) y en el motor MyISAM.
  • 9.
    Sintaxis – CREATETABLE Introduccion a Bases de Datos y SQL http://dev.mysql.com/doc/refman/5.0/es/create-table.html
  • 10.
    CREATE TABLE conSELECT Introduccion a Bases de Datos y SQL
  • 11.
    Temporary Tables Introduccion aBases de Datos y SQL En MySQL podemos crear tablas temporales, la ventaja de estas tablas es que son solo visibles dentro de la conexión en cuales fueron creadas y al cerrar la conexión serán eliminadas, de esta manera dos personas con distintas conexiones podrían usar el mismo nombre para una tabla del tipo temporal. Además estas tablas son borradas automáticamente al cerrar la conexión. En general se usan para cálculos auxiliares ya sea consolidar datos o aplicar criterios de búsqueda o agrupación.
  • 12.
    Sintaxis – ALTERTABLE Introduccion a Bases de Datos y SQL http://dev.mysql.com/doc/refman/5.0/es/alter-table.html
  • 13.
    Sintaxis – RENAMETABLE Introduccion a Bases de Datos y SQL http://dev.mysql.com/doc/refman/5.0/es/rename-table.html
  • 14.
    Comando DESCRIBE Introduccion aBases de Datos y SQL
  • 15.
    Sentencias DML (Consultas) Introducciona Bases de Datos y SQL ▪ SELECT: Usamos las sentencias “Select” para obtener los datos desde una fuente de datos, podría ser una tabla o una vista. http://dev.mysql.com/doc/refman/5.0/es/select.htm l
  • 16.
  • 17.
    SELECT + WHERE Introducciona Bases de Datos y SQL ▪ La clausula “WHERE” es donde podemos poner nuestras condiciones de filtrado de datos
  • 18.
    Operadores de comparación Introducciona Bases de Datos y SQL Operador Descripción <= Menor o igual < Menor > Mayor >= Mayor o igual !=, <> Distinto <=> Comparación Segura ▪ El operador “=“ devuelve siempre NULL si alguna de las dos partes es NULL en cambio el operador “<=>” compara el valor contra NULL y devuelve su valor de verdad. Si ambos son NULL retorna 1, y en el caso de un NULL retorna 0.
  • 19.
    Operadores lógicos (AND/ OR) Introduccion a Bases de Datos y SQL Expr 1 Expr 2 Expr 1 AND Expr 2 FALSO FALSO FALSO FALSO VERDADERO FALSO VERDADERO FALSO FALSO VERDADERO VERDADERO VERDADERO FALSO NULL FALSO NULL FALSO FALSO VERDADERO NULL NULL NULL VERDADERO NULL Expr 1 Expr 2 Expr 1 OR Expr 2 FALSO FALSO FALSO FALSO VERDADERO VERDADERO VERDADERO FALSO VERDADERO VERDADERO VERDADERO VERDADERO FALSO NULL NULL NULL FALSO NULL VERDADERO NULL VERDADERO NULL VERDADERO VERDADERO AND OR
  • 20.
    Operadores lógicos (XOR) Introducciona Bases de Datos y SQL Expr 1 Expr 2 Expr 1 XOR Expr 2 FALSO FALSO FALSO FALSO VERDADERO VERDADERO VERDADERO FALSO VERDADERO VERDADERO VERDADERO FALSO FALSO NULL NULL NULL FALSO NULL VERDADERO NULL NULL NULL VERDADERO NULL
  • 21.
    Sentencia Between Introduccion aBases de Datos y SQL ▪ La sentencia “Between” se usa para filtrado por rangos. Esta se puede aplicar con números, fechas. Se puede usar con el NOT.
  • 22.
    Sentencia IN Introduccion aBases de Datos y SQL ▪ La sentencia “IN” se usa para filtrado por un conjunto de valores, cada valor debe estar separado por coma. Se puede usar con el NOT.
  • 23.
    Sentencia LIKE Introduccion aBases de Datos y SQL ▪ La sentencia “LIKE” se usa para filtrado usando un patrón, ósea podemos filtrar los datos los cuales la columna seleccionada cumple con el patrón ingresado. También podemos utilizar NOT LIKE. Funciona sobre cualquier tipo de columna números, texto, fechas.
  • 24.
    Sentencia ORDER BY Introducciona Bases de Datos y SQL ▪ La sentencia “ORDER BY” nos permite definir un criterio para el orden y definir en que forma queremos ordenar los datos, se puede usar una columna sola o N columnas.
  • 25.
    Clausula COLLATE Introduccion aBases de Datos y SQL ▪ La clausula “COLLATE” se usa para definir cual es el collation que queremos usar para esa comparación o ordenamiento en ese momento.
  • 26.
    TRUNCATE TABLE Introduccion aBases de Datos y SQL ▪ La sentencia TRUNCATE TABLE nos permite dejar vacía una tabla de forma simple y sencilla. Truncate Delete DDL DML Desasigna las paginas de memoria Remueve fila por fila Rapido Lento No dispara DELETE Triggers Dispara DELETE Triggers Resetea AUTO_INCREMENT No Resetea AUTO_INCREMENT Menor Locking Mayor Locking Remueve todas las paginas Puede dejar paginas en blanco
  • 27.
    Producto Cartesiano I Introducciona Bases de Datos y SQL ▪ El PRODUCTO CARTESIANO es uno de los problemas mas típicos y peligrosos que podemos tener con nuestras sentencias SELECTs.
  • 28.
  • 29.
    Escapear Caracteres Introduccion aBases de Datos y SQL Esta es la forma que debemos escapear los caracteres si los usamos con el operador =, si los usáramos con el operador LIKE debemos agregar una o mas barras dependiendo el caso. Esto por que el LIKE remueve una al hacer el parseo y otra al hacer la comparación. Escape with = Escape with Like Character Represented by Sequence ' ' A single quote (“'”) character. " " A double quote (“"”) character. b b A backspace character. n n A newline (linefeed) character. r r A carriage return character. t t A tab character. Z Z ASCII 26 (Control+Z). See note following the table. A backslash (“”) character. % % A “%” character. See note following the table. _ _ A “_” character. See note following the table.