2. 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
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 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
8. 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.
9. Sintaxis – CREATE TABLE
Introduccion a Bases de Datos y SQL
http://dev.mysql.com/doc/refman/5.0/es/create-table.html
11. 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.
12. Sintaxis – ALTER TABLE
Introduccion a Bases de Datos y SQL
http://dev.mysql.com/doc/refman/5.0/es/alter-table.html
13. Sintaxis – RENAME TABLE
Introduccion a Bases de Datos y SQL
http://dev.mysql.com/doc/refman/5.0/es/rename-table.html
15. 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
17. SELECT + WHERE
Introduccion a Bases de Datos y SQL
▪ La clausula “WHERE” es donde podemos poner nuestras condiciones de
filtrado de datos
18. 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.
21. 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.
22. 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.
23. 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.
24. 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.
25. 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.
26. 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
27. 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.
29. 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.