SlideShare una empresa de Scribd logo
1 de 189
© All rights reserved. www.keepcoding.io
Introducción a BBDD
relacionales, SQL y MySQL
© All rights reserved. www.keepcoding.io
¿Quién soy yo?
2
@SandraNavarro37
https//www.linkedin.com/in/sandra-navarro-nieto/
© All rights reserved. www.keepcoding.io
Objetivos
Ser capaces de manejar SQL con el motor MySQL para:
➢Crear una BBDD
➢ Actualizar la BBDD una vez creada
➢Ser capaces de hacer consultas diversas según la información
que necesitemos obtener
3
© All rights reserved. www.keepcoding.io
Índice (I)
➢ Presentación
➢ Bases de datos
> Definición de bases de datos
> Bases de datos relacionales
> Motores de bases de datos
➢ MySQL
> Introducción a MySQL
> The Hello World Collection
> Hola mundo
➢MySQL - Manipulación de BBDD
> Comandos SHOW, CREATE DATABASE, DROP DATABASE, USE
4
© All rights reserved. www.keepcoding.io
Índice (II)
➢MySQL - Manipulación de tablas
> Tipos de datos
• Tipos de datos STRING
• Tipos de datos NUMÉRICOS
• Tipos de datos FECHA
• Tipos de datos LOB
> Diagrama de BBDD
> Claves primarias y foráneas
> Formas normales
> Comandos CREATE TABLE, DROP TABLE, RENAME TABLE
> Comando ALTER TABLE
> Índices, índice único, primary key
> Comandos INSERT, COMMIT, ROLLBACK
> Comandos DELETE, TRUNCATE
> Comando INSERT (II) y UPDATE
> Comandos PRIMARY KEY y FOREIGN KEY
> Comando CREATE INDEX
> Comando CREATE VIEW
5
© All rights reserved. www.keepcoding.io
Índice (III)
➢ MySQL - Comandos SQL
> SELECT, DISTINCT, WHERE y ALIAS
> AND/OR, IN, BETWEEN, LIKE y NOT
> Funciones aritméticas
> ORDER BY, GROUP BY, HAVING y LIMIT
> JOINS
> CONCAT, SUBSTRING y TRIM
> UNION y UNION ALL
> EXISTS, CASE
> Operadores de comparación
> IS NULL, IS NOT NULL
> Subqueries
> Practicando lo aprendido
6
© All rights reserved. www.keepcoding.io
Índice (IV)
➢ Funciones SQL
> Funciones para STRINGS
• CHAR_LENGTH, CHARACTER_LENGTH, LENGTH
• LCASE, LOWER, UCASE, UPPER
• LTRIM, RTRIM, TRIM
• CONCAT, CONCAT_WS
• FIELD, FIND_IN_SET, INSTR, LOCATE, POSITION
• RPAD, LPAD, FORMAT
• SUBSTR, MID, SUBSTRING, SUBSTRING_INDEX, LEFT, RIGHT
• INSERT, REPEAT, SPACE
• REPLACE, REVERSE
• STRCMP
• ASCII
7
© All rights reserved. www.keepcoding.io
Índice (V)
> Funciones numéricas
• SQRT, POW, POWER
• ABS, SIGN
• SUM, MAX, MIN, AVG
• DIV, MOD
• ROUND, TRUNCATE, CEIL, CEILING, FLOOR
• RAND
• GREATEST, LEAST
• EXP, LN, LOG10, LOG2, LOG
• RADIANS, DEGREES, PI
• SIN, COS, TAN, COT
• ASIN, ACOS, ATAN
8
© All rights reserved. www.keepcoding.io
Índice (VI)
> Funciones para FECHAS/TIEMPO
• CURDATE, CURRENT_DATE, CURTIME, CURRENT_TIME
• CURRENT_TIMESTAMP, LOCALTIME, LOCALTIMESTAMP, NOW, SYSDATE
• DATE
• DATE_FORMAT
• TIME_FORMAT
• TIME, MICROSECOND, SECOND, MINUTE, HOUR
• DAY, DAYNAME, LAST_DAY
• DAYOFWEEK, DAYOFMONTH, DAYOFYEAR
• WEEK, WEEKDAY, WEEKOFYEAR
• MONTH, MONTHNAME, QUARTER
• YEAR, YEARWEEK
• EXTRACT
• ADDDATE, DATE_ADD
• SUBDATE, DATE_SUB
• ADDTIME, SUBTIME, PERIOD_ADD
• MAKEDATE, MAKETIME
• DATEDIFF, TIMEDIFF, PERIOD_DIFF
• TO_DAYS, FROM_DAYS
• STR_TO_DATE
• SEC_TO_TIME, TIME_TO_SEC
9
© All rights reserved. www.keepcoding.io
Índice (VII)
> Otras funciones
• BIN, BINARY
• CASE
• CAST, CONVERT
• COALESCE, CONV
• IF, IFNULL, ISNULL, NULLIF
• ENCRYPT, MD5
➢Procedimientos y funciones
> Procedimientos vs Funciones
> PROCEDURE
> FUNCTION
1
© All rights reserved. www.keepcoding.io
Índice (VIII)
➢ Bucles y condicionales
> IF
> WHILE
> LOOP, ITERATE, LEAVE
> REPEAT
➢ Triggers
> BEFORE INSERT TRIGGER
> AFTER INSERT TRIGGER
> BEFORE UPDATE TRIGGER
> AFTER UPDATE TRIGGER
> BEFORE DELETE TRIGGER
> AFTER DELETE TRIGGER
1
© All rights reserved. www.keepcoding.io
Índice (IX)
➢Cursores
> DECLARE Cursor, Cursor NOT FOUND
> OPEN Cursor, CLOSE Cursor, FETCH Cursor
➢ ¿Programas para realizar el diagrama de BBDD?
➢ Anexo
1
© All rights reserved. www.keepcoding.io
Bases de datos
1
© All rights reserved. www.keepcoding.io
Definición de base de datos
➢ Una BBDD es una colección electrónica de información
diseñada para satisfacer unas determinadas necesidades:
> Pueden contener información de diversas fuentes
> Proporcionan mecanismos para extraer rápidamente los
datos
> Permiten compartir información entre los distintos
departamentos de una empresa.
➢ Las BBDD son uno de los pilares de la informática.
➢ Las bases de datos están por todos lados a nivel informático.
1
© All rights reserved. www.keepcoding.io
Bases de datos relaciones (I)
➢ En un principio existían dos modelos de bases de datos: el
jerárquico y el de redes, de los cuales el de redes era el que
más se adaptaba a las necesidades reales de almacenamiento
y clasificación.
➢ Posteriormente, aparecieron las bases de datos relacionales
➢ Una BBDD relacional se compone de tablas, que a su vez están
compuestas de campos, los cuales están formados por filas y
columnas.
1
© All rights reserved. www.keepcoding.io
Bases de datos relaciones (II)
➢ Las bases de datos relacionales tienen la ventaja de
"relacionarse" entre sí sin la necesidad de duplicar una gran
cantidad de información, basadas en un lenguaje estándar
llamado SQL (Structured Query Language), el cual es,
podríamos decir, la razón para que las bases de datos
relacionales tengan un éxito tan arrollador.
1
© All rights reserved. www.keepcoding.io
Motores de bases de datos (I)
➢ Los tres más
usados son
Oracle, SQL
Server y MySQL.
➢ PostgreSQL es
muy utilizada para
bases de datos
geográficas
1
© All rights reserved. www.keepcoding.io
Motores de bases de datos (II)
El crecimiento de
MySQL es cada vez
mayor frente a sus
competidores que van
perdiendo mercado.
1
© All rights reserved. www.keepcoding.io
MySQL
1
© All rights reserved. www.keepcoding.io
Introducción a MySQL
MySQL es un software
creado por MySQL AB y
es un software
multiusuario, multihilos y
un servidor SQL
(Structured Query
Language).
2
© All rights reserved. www.keepcoding.io
Ejercicio práctico (I)
2
© All rights reserved. www.keepcoding.io
The Hello World Collection
https://helloworldcollection.github.io/
2
© All rights reserved. www.keepcoding.io
Hola mundo
2
© All rights reserved. www.keepcoding.io
MySQL - Manipulación de BBDD
2
© All rights reserved. www.keepcoding.io
Comandos SHOW, CREATE DATABASE, DROP
DATABASE, USE
➢ SHOW
> SHOW DATABASES;
> SHOW TABLES FROM nombre_bbdd;
> SHOW COLUMNS from nombre_bbdd.nombre_tabla;
➢ CREATE DATABASE
> CREATE DATABASE nombre_bbdd;
> CREATE DATABASE IF NOT EXISTS nombre_bbdd;
➢ DROP DATABASE
> DROP DATABASE nombre_bbdd;
➢ USE
> USE nombre_bbdd;
SCRIPT: 1.Creación de la BBDD
2
SCRIPT: 0. Mostrar contenido de BBDD
© All rights reserved. www.keepcoding.io
MySQL - Manipulación de tablas
2
© All rights reserved. www.keepcoding.io
Tipos de datos (I)
2
➢ Tipos de datos STRING
© All rights reserved. www.keepcoding.io
Tipos de datos (II)
2
➢ Tipos de datos NUMÉRICOS
© All rights reserved. www.keepcoding.io
Tipos de datos (III)
2
© All rights reserved. www.keepcoding.io
Tipos de datos (IV)
3
© All rights reserved. www.keepcoding.io
Tipos de datos (V)
3
➢ Tipos de datos FECHA
© All rights reserved. www.keepcoding.io
Tipos de datos (VI)
3
➢ Tipos de datos LOB (Large Objects)
© All rights reserved. www.keepcoding.io
Ejercicio práctico (II)
En la serie de los Simpsons tenemos:
➢ Personajes
➢ Cada personaje puede ser Hombre o Mujer
➢ Cada personaje pertenece a una familia
➢ Una familia puede tener mascotas
➢ Cada personaje vive en un lugar de residencia
➢ Cada personaje tiene o no un empleo y éste se desarrolla
en un lugar
➢ Hay personajes que están casados
3
© All rights reserved. www.keepcoding.io
Ejercicio práctico (III)
➢ Id → identificador del
registro en la tabla
➢ fecha_insert → fecha
en la que se insertó el
registro
➢ fecha_modificacion →
fecha en la que se ha
modificado el registro
➢ Desc → descripción de
un lugar, una ciudad, el
nombre de un
personaje, de una
mascota, etc.
3
© All rights reserved. www.keepcoding.io
Claves primarias y foráneas
➢ Clave primaria (Primary Key)
> Consiste en una o más columnas cuyos datos contenidos son utilizados para identificar de manera única
cada fila en la tabla.
> No puede haber duplicados.
> No puede tener registros vacíos.
> Sólo puede haber una por tabla.
> Se almacena en un índice.
➢ Clave foránea (Foreign Key)
> Es un grupo de una o más columnas en una tabla que referencian a la clave primaria de otra tabla.
> Puede formar parte de la clave primaria
> Puede contener duplicados
> Puede tener registros vacíos.
> En la misma tabla puede haber varias.
3
© All rights reserved. www.keepcoding.io
Ejercicio práctico (IV)
3
© All rights reserved. www.keepcoding.io
Formas normales
3
➢ NF1
> La tabla contiene una clave única
> No tiene datos repetidos
➢ NF2
> NF1
> Todo registro debe depender únicamente de la clave principal
> Las columnas pueden depender de otras tablas, pero de campos que sean clave en sus respectivas tablas
➢ NF3
> NF2
> No puede haber columnas que dependen de otras columnas que no sean clave principal
© All rights reserved. www.keepcoding.io
Ejercicio práctico (V)
3
© All rights reserved. www.keepcoding.io
Ventajas de las formas normales
3
➢Elimina redundancias
➢ Alerta en los updates
➢ Nos da fiabilidad y confianza
➢ Reducir espacio de almacenamiento en la base de datos.
➢ Conseguimos integridad referencial
© All rights reserved. www.keepcoding.io
Otras formas normales
4
➢ NF4
> 3NF
> Las relaciones muchos a muchos entre tablas no tiene redundancia
➢ NF5
> 4NF
> La tabla original debe ser reconstruida desde las tablas resultantes en las cuales ha sido troceada.
➢ NF6
> 5NF
> Si se tiene más de dos claves candidatas en una tabla, se tendrán que crear otras tablas con éstas.
© All rights reserved. www.keepcoding.io
Comandos CREATE TABLE, DROP TABLE,
RENAME TABLE
SCRIPT: 2.Creacion de tablas
➢ CREATE TABLE
○ CREATE [TEMPORARY] TABLE [IF NOT EXISTS] nombre_tabla
(nombre_columna tipo_dato [NOT NULL | NULL] [DEFAULT valor_por_defecto]
[AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY],...);
➢ DROP TABLE
○ DROP TABLE nombre_tabla;
➢ RENAME TABLE
○ RENAME TABLE nombre_tabla TO nombre_tabla_nuevo;
4
© All rights reserved. www.keepcoding.io
Comando ALTER TABLE
SCRIPT: 2.Creacion de tablas
➢ ALTER TABLE
○ ALTER TABLE nombre_tabla CHANGE nombre_campo nombre_campo_nuevo tipo_dato_nuevo;
○ ALTER TABLE nombre_tabla MODIFY nombre_campo tipo_dato;
○ ALTER TABLE nombre_tabla ADD nombre_campo tipo_dato;
○ ALTER TABLE nombre_tabla ADD nombre_campo tipo_dato FIRST;
○ ALTER TABLE nombre_tabla ADD nombre_campo AFTER nombre_campo_anterior;
○ ALTER TABLE nombre_tabla ADD UNIQUE(nombre_campo );
4
© All rights reserved. www.keepcoding.io
Ejercicio práctico (VI)
4
SCRIPT: 2b.Creacion de tablas
© All rights reserved. www.keepcoding.io
En la vida real
4
© All rights reserved. www.keepcoding.io
Comandos INSERT, COMMIT, ROLLBACK
SCRIPT: 3. Relleno de tablas
➢ INSERT
○ INSERT INTO nombre_tabla VALUES (valor_campo1, valor_campo2,...);
○ INSERT INTO nombre_tabla (nombre_campo1, nombre_campo2,...) VALUES (valor_campo1, valor_campo2,...);
➢ COMMIT
○ COMMIT;
○ Comando que asegura una operación
➢ ROLLBACK
○ ROLLBACK;
○ Comando que deshace una operación
4
© All rights reserved. www.keepcoding.io
Comandos DELETE, TRUNCATE
SCRIPT: 3. Relleno de tablas
➢ DELETE
○ DELETE FROM nombre_tabla WHERE condición;
➢ TRUNCATE
○ TRUNCATE TABLE nombre_tabla ;
4
© All rights reserved. www.keepcoding.io
Ejercicio práctico (VII)
4
SCRIPT: 3b.Relleno de tablas
© All rights reserved. www.keepcoding.io
Ejercicio práctico (VI)
4
© All rights reserved. www.keepcoding.io
Ejercicio práctico (VIII)
4
SCRIPT: 3c.Relleno de tablas
SCRIPT: 3d.Relleno de tablas
© All rights reserved. www.keepcoding.io
Comando INSERT (II) y UPDATE
SCRIPT: 3e. Relleno de tablas
➢ INSERT
○ INSERT INTO nombre_tabla sentencia;
○ INSERT INTO nombre_tabla (nombre_campo1, nombre_campo2,...) sentencia;
➢ UPDATE
○ UPDATE nombre_tabla SET nombre_campo = nuevo_valor WHERE condición;
5
© All rights reserved. www.keepcoding.io
Ejercicio práctico (IX)
5
SCRIPT: 3f. Relleno de tablas
© All rights reserved. www.keepcoding.io
Ejercicio práctico (IX)
5
SCRIPT: 3g.Relleno de tablas
© All rights reserved. www.keepcoding.io
Comandos PRIMARY KEY y FOREIGN KEY
➢ Primary key
○ ALTER TABLE nombre_tabla ADD PRIMARY KEY (nombre_campo1, nombre_campo2,...);
➢ Foreign key
○ ALTER TABLE nombre_tabla1 ADD FOREIGN KEY (nombre_fk) REFERENCES nombre_tabla2
(campos_pk_tabla2);
5
SCRIPT: 4. Creacion FK
© All rights reserved. www.keepcoding.io
Comando CREATE INDEX
➢ CREATE INDEX
○ CREATE INDEX nombre_índice ON nombre_tabla (nombre_columna);
5
SCRIPT: 4. Creacion FK
© All rights reserved. www.keepcoding.io
Ejercicio práctico (X)
5
SCRIPT: 4a.Creacion FK
© All rights reserved. www.keepcoding.io
Ejercicio práctico (XI)
5
SCRIPT: 4b. Creacion FK
© All rights reserved. www.keepcoding.io
Conseguido!!! Ya tenemos nuestra BBDD!!!!
5
© All rights reserved. www.keepcoding.io
MySQL - Comandos SQL
5
© All rights reserved. www.keepcoding.io
Resumen: Diagrama de nuestra BBDD
5
© All rights reserved. www.keepcoding.io
Comandos SELECT, DISTINCT, WHERE y ALIAS
SCRIPT: 5. Comandos SQL
➢ SELECT
○ SELECT nombre_campo FROM nombre_tabla
INTO OUTFILE ‘fichero.txt’
FIELDS TERMINATED BY ‘caracter’ OPTIONALLY ENCLOSED BY ‘caracter‘
LINES TERMINATED BY ‘caracter’;
➢ DISTINCT
○ SELECT DISTINCT nombre_campo FROM nombre_tabla;
➢ WHERE
○ SELECT nombre_campo FROM nombre_tabla WHERE condición;
➢ ALIAS
○ SELECT nombre_campo alias_campo FROM nombre_tabla WHERE condición;
6
© All rights reserved. www.keepcoding.io
Comandos AND/OR, IN, BETWEEN, LIKE y NOT
➢ AND/OR
○ SELECT nombre_campo FROM nombre_tabla WHERE condicion1 {[AND|OR] condición2};
➢ IN
○ SELECT nombre_campo FROM nombre_tabla WHERE nombre_campo IN (valor1, valor2, ...);
➢ BETWEEN
○ SELECT nombre_campo FROM nombre_tabla WHERE nombre_campo BETWEEN valor1 AND valor2;
➢ LIKE
○ SELECT nombre_campo FROM nombre_tabla WHERE nombre_campo LIKE patrón;
➢ NOT
○ NOT condicion;
6
SCRIPT: 5. Comandos SQL
© All rights reserved. www.keepcoding.io
Funciones aritméticas
➢ AVG
○ SELECT AVG(nombre_campo) FROM nombre_tabla;
➢ COUNT
○ SELECT COUNT(nombre_campo) FROM nombre_tabla;
➢ MAX
○ SELECT MAX(nombre_campo) FROM nombre_tabla;
➢ MIN
○ SELECT MIN(nombre_campo) FROM nombre_tabla;
➢ SUM
○ SELECT SUM(nombre_campo) FROM nombre_tabla;
6
SCRIPT: 5. Comandos SQL
© All rights reserved. www.keepcoding.io
Comandos ORDER BY, GROUP BY, HAVING y
LIMIT
➢ ORDER BY
○ SELECT nombre_campo FROM nombre_tabla WHERE condicion1 {[AND|OR] condición2} ORDER BY
nombre_campo [ASC, DESC];
➢ GROUP BY
○ SELECT nombre_campo FROM nombre_tabla GROUP BY nombre_campo;
➢ HAVING
○ SELECT nombre_campo FROM nombre_tabla GROUP BY nombre_campo HAVING
condición_función_aritmética;
➢ LIMIT
○ SELECT nombre_campo FROM nombre_tabla LIMIT número;
6
SCRIPT: 5. Comandos SQL
© All rights reserved. www.keepcoding.io
JOINS (I)
➢ Se utilizan para recuperar datos de varias tablas.
6
SCRIPT: 5. Comandos SQL
© All rights reserved. www.keepcoding.io
JOINS (II)
➢ INNER JOIN
○ SELECT T1.nombre_campo1, T2.nombre_campo2 FROM nombre_tabla1 T1, nombre_tabla2 T2 WHERE
T1.campo_cruce1=t2.campo_cruce2;
➢ LEFT OUTER JOIN
○ SELECT T1.nombre_campo1, T2.nombre_campo2 FROM nombre_tabla1 T1 LEFT [OUTER] JOIN nombre_tabla2
T2 ON T1.campo_cruce1=t2.campo_cruce2;
➢ RIGHT OUTER JOIN
○ SELECT T1.nombre_campo1, T2.nombre_campo2 FROM nombre_tabla1 T1 RIGHT [OUTER] JOIN
nombre_tabla2 T2 ON T1.campo_cruce1=t2.campo_cruce2;
6
SCRIPT: 5. Comandos SQL
© All rights reserved. www.keepcoding.io
Comandos CONCAT, SUBSTRING y TRIM
➢ CONCAT
○ SELECT CONCAT(nombre_campo1, nombre_campo2) FROM nombre_tabla;
➢ SUBSTRING
○ SELECT SUBSTRING(nombre_campo,posicion[,longitud]) FROM nombre_tabla;
➢ TRIM
○ SELECT TRIM(nombre_campo) FROM nombre_tabla;
○ SELECT RTRIM(nombre_campo) FROM nombre_tabla;
○ SELECT LTRIM(nombre_campo) FROM nombre_tabla;
6
SCRIPT: 5. Comandos SQL
© All rights reserved. www.keepcoding.io
Comandos UNION y UNION ALL
➢ UNION
○ sentencia1 UNION sentencia2;
➢ UNION ALL
○ sentencia1 UNION ALL sentencia2;
6
SCRIPT: 5. Comandos SQL
© All rights reserved. www.keepcoding.io
Comandos EXISTS y CASE
➢ EXISTS
○ SELECT nombre_campo1 FROM nombre_tabla WHERE EXISTS condicion/sentencia;
➢ CASE
○ SELECT CASE nombre_campo
WHEN condición1 THEN resultado1
WHEN condición2 THEN resultado2
...
[ELSE resultadoN]
END
FROM nombre_tabla;
6
SCRIPT: 5. Comandos SQL
© All rights reserved. www.keepcoding.io
Operadores de comparación
6
SCRIPT: 5. Comandos SQL
© All rights reserved. www.keepcoding.io
Comandos IS NULL e IS NOT NULL
➢ IS NULL
○ expresion IS NULL;
➢ IS NOT NULL
○ expresion IS NOT NULL;
7
SCRIPT: 5. Comandos SQL
© All rights reserved. www.keepcoding.io
Erratas
7
SCRIPT: 4d. Erratas
© All rights reserved. www.keepcoding.io
¡A jugar!
7
© All rights reserved. www.keepcoding.io
Practicando lo aprendido (I)
➢ ¿Qué profesiones hay en la serie de los Simpsons?
➢ ¿Cuántas profesiones hay en la serie de los Simpsons?
➢ Lista los personajes junto a su sexo
➢ ¿Cuántos hombres y cuántas mujeres hay en Springfield?
➢ ¿Dónde vive cada personaje de los Simpsons?
➢ ¿Qué personajes viven y trabajan en su casa?
7
SCRIPT: 6. Practicando SQL
© All rights reserved. www.keepcoding.io
Practicando lo aprendido (II)
➢ ¿Cuántos personajes hay que no sean de la familia Simpson ni de
la familia Flanders?
➢ ¿Y agrupados por familia, de mayor a menor número de
miembros?
➢ ¿Cuántas familias hay de tres miembros?
➢ ¿Cuántas familias hay de más de tres miembros?
➢ ¿Cuántas familias hay que tengan entre tres y cinco miembros?
➢ ¿De qué personajes no sabemos dónde viven?
7
SCRIPT: 6. Practicando SQL
© All rights reserved. www.keepcoding.io
Practicando lo aprendido (III)
➢ ¿Qué personajes viven en Evergreen Terrace?
➢ ¿En qué direcciones exactamente?
➢ ¿Qué personajes viven en Evergreen Terrace y además trabajan en
la central nuclear?
➢ ¿Qué personajes viven en Evergreen Terrace y además trabajan en
la central nuclear o son mujeres?
➢ Quiero ordenarlos de manera ascendente el lugar de residencia y
de manera descendiente el sexo
7
SCRIPT: 6. Practicando SQL
© All rights reserved. www.keepcoding.io
Practicando lo aprendido (IV)
➢ Lista sólo 10 lugares de residencia
➢ ¿Qué familias tienen mascotas?
➢ ¿Qué personajes tienen mascotas?
➢ ¿Qué personajes tienen frases famosas?
➢ ¿Cuántos personajes distintos y cuántas frases famosas tengo?
7
SCRIPT: 6. Practicando SQL
© All rights reserved. www.keepcoding.io
Funciones SQL
7
© All rights reserved. www.keepcoding.io
Funciones para STRINGS
7
© All rights reserved. www.keepcoding.io
CHAR_LENGTH, CHARACTER_LENGTH, LENGTH
➢ CHAR_LENGTH
○ CHAR_LENGTH(cadena)
➢ CHARACTER_LENGTH
○ CHARACTER_LENGTH(cadena)
➢ LENGTH
○ LENGTH(cadena)
7
SCRIPT: 7. Funciones SQL
© All rights reserved. www.keepcoding.io
LCASE, LOWER, UCASE, UPPER
➢ LCASE
○ CHAR_LENGTH(cadena)
➢ LOWER
○ LOWER(cadena)
➢ UCASE
○ UCASE(cadena)
➢ UPPER
○ UPPER(cadena)
8
SCRIPT: 7. Funciones SQL
© All rights reserved. www.keepcoding.io
LTRIM, RTRIM, TRIM
➢ LTRIM
○ LTRIM(cadena)
➢ RTRIM
○ RTRIM(cadena)
➢ TRIM
○ TRIM(cadena)
8
SCRIPT: 7. Funciones SQL
© All rights reserved. www.keepcoding.io
CONCAT, CONCAT_WS
➢ CONCAT
○ CONCAT(cadena1,cadena2,...,cadenaN)
➢ CONCAT_WS
○ CONCAT_WS(separador,cadena1,cadena2,...,cadenaN)
8
SCRIPT: 7. Funciones SQL
© All rights reserved. www.keepcoding.io
FIELD, FIND_IN_SET, INSTR, LOCATE, POSITION
➢ FIELD
○ FIELD(cadena_buscada,cadena1,cadena2,...,cadenaN)
➢ FIND_IN_SET
○ FIND_IN_SET(cadena_buscada, lista_cadenas)
➢ INSTR
○ INSTR(cadena,cadena_buscada)
➢ LOCATE
○ LOCATE(cadena_buscada,cadena, [posicion_inicio]))
➢ POSITION
○ POSITION(cadena_buscada IN cadena)
8
SCRIPT: 7. Funciones SQL
© All rights reserved. www.keepcoding.io
RPAD, LPAD, FORMAT
➢ RPAD
○ RPAD(cadena)
➢ LPAD
○ LPAD(cadena)
➢ FORMAT
○ FORMAT(numero, numero_de_decimales)
8
SCRIPT: 7. Funciones SQL
© All rights reserved. www.keepcoding.io
SUBSTR, MID, SUBSTRING, SUBSTRING_INDEX,
LEFT, RIGHT
➢ SUBSTR
○ SUBSTR(cadena,posicion_inicial, [longitud])
○ SUBSTR(cadena FROM posicion_inicial [ FOR longitud])
➢ MID
○ MID(cadena, posicion_inicial,longitud)
➢ SUBSTRING
○ SUBSTRING(cadena,posicion_inicial, [longitud])
○ SUBSTRING(cadena FROM posicion_inicial [ FOR longitud])
➢ SUBSTRING_INDEX
○ SUBSTRING_INDEX(cadena,delimitador, numero_apariciones)
➢ LEFT
○ LEFT(cadena, numero_caracteres)
➢ RIGHT
○ RIGHT(cadena, numero_caracteres)
8
SCRIPT: 7. Funciones SQL
© All rights reserved. www.keepcoding.io
INSERT, REPEAT, SPACE
➢ INSERT
○ INSERT(cadena,posicion,numero_caracteres_a_sustituir, cadena_sustituta)
➢ REPEAT
○ REPEAT(cadena, numero_repeticiones)
➢ SPACE
○ SPACE(numero)
8
SCRIPT: 7. Funciones SQL
© All rights reserved. www.keepcoding.io
REPLACE, REVERSE
➢ REPLACE
○ REPLACE(cadena,caracter_a_sustituir,caracter_sustituto)
➢ REVERSE
○ REVERSE(cadena)
8
SCRIPT: 7. Funciones SQL
© All rights reserved. www.keepcoding.io
STRCMP, ASCII
➢ STRCMP
○ STRCMP(cadena1,cadena2)
➢ ASCII
○ ASCII(cadena)
8
SCRIPT: 7. Funciones SQL
© All rights reserved. www.keepcoding.io
Funciones numéricas
8
© All rights reserved. www.keepcoding.io
SQRT, POW, POWER
➢ SQRT
○ SQRT(numero)
➢ POW
○ POW(numero_base, numero_exponente)
➢ POWER
○ POWER(numero_base, numero_exponente)
9
SCRIPT: 7b. Funciones SQL
© All rights reserved. www.keepcoding.io
ABS, SIGN
➢ ABS
○ ABS(numero)
➢ SIGN
○ SIGN(numero)
9
SCRIPT: 7b. Funciones SQL
© All rights reserved. www.keepcoding.io
SUM, MAX, MIN, AVG
➢ SUM
○ SUM(expresion_agregacion)
➢ MAX
○ MAX(expresion_agregacion)
➢ MIN
○ MIN(expresion_agregacion)
➢ AVG
○ AVG(expresion_agregacion)
9
SCRIPT: 7b. Funciones SQL
© All rights reserved. www.keepcoding.io
DIV, MOD
➢ DIV
○ numero_dividendo DIV numero_divisor
➢ MOD
○ numero_dividendo MOD numero_divisor
9
SCRIPT: 7b. Funciones SQL
© All rights reserved. www.keepcoding.io
ROUND, TRUNCATE, CEIL, CEILING, FLOOR
➢ ROUND
○ ROUND(numero, [posiciones_decimales])
➢ TRUNCATE
○ TRUNCATE(numero, [posiciones_decimales])
➢ CEIL
○ CEIL(numero)
➢ CEILING
○ CEILING(numero)
➢ FLOOR
○ POSITION(numero)
9
SCRIPT: 7b. Funciones SQL
© All rights reserved. www.keepcoding.io
RAND
➢ RAND
○ RAND([semilla])
9
SCRIPT: 7b. Funciones SQL
© All rights reserved. www.keepcoding.io
GREATEST, LEAST
➢ GREATEST
○ GREATEST(expresion1, expersion2,...,expresionN)
➢ LEAST
○ LEAST(expresion1, expersion2,...,expresionN)
9
SCRIPT: 7b. Funciones SQL
© All rights reserved. www.keepcoding.io
EXP, LN, LOG10, LOG2, LOG
➢ EXP
○ EXP(numero)
➢ LN
○ LN(numero)
➢ LOG10
○ LOG10(numero)
➢ LOG2
○ LOG2(numero)
➢ LOG
○ LOG(numero_base, numero)
9
SCRIPT: 7b. Funciones SQL
© All rights reserved. www.keepcoding.io
RADIANS, DEGREES, PI
➢ RADIANS
○ RADIANS(numero_en_grados)
➢ DEGREES
○ DEGREES(numero_en_radianes)
➢ PI
○ PI( )
9
SCRIPT: 7b. Funciones SQL
© All rights reserved. www.keepcoding.io
SIN, COS, TAN, COT
➢ SIN
○ SIN(numero)
➢ COS
○ COS(numero)
➢ TAN
○ TAN(numero)
➢ COT
○ COT(numero)
9
SCRIPT: 7b. Funciones SQL
© All rights reserved. www.keepcoding.io
ASIN, ACOS, ATAN
➢ ASIN
○ ASIN(numero)
➢ ACOS
○ ACOS(numero)
➢ ATAN
○ ATAN(numero)
○ ATAN(numero1, numero2)
1
SCRIPT: 7b. Funciones SQL
© All rights reserved. www.keepcoding.io
Funciones para FECHAS/TIEMPO
1
© All rights reserved. www.keepcoding.io
CURDATE, CURRENT_DATE, CURTIME,
CURRENT_TIME
➢ CURDATE
○ CURDATE( )
➢ CURRENT_DATE
○ CURRENT_DATE( )
➢ CURTIME
○ CURTIME( )
➢ CURRENT_TIME
○ CURRENT_TIME( )
1
SCRIPT: 7c. Funciones SQL
© All rights reserved. www.keepcoding.io
CURRENT_TIMESTAMP, LOCALTIME,
LOCALTIMESTAMP, NOW, SYSDATE
➢ CURRENT_TIMESTAMP
○ CURRENT_TIMESTAMP( )
➢ LOCALTIME
○ LOCALTIME( )
➢ LOCALTIMESTAMP
○ LOCALTIMESTAMP( )
➢ NOW
○ NOW( )
➢ SYSDATE
○ SYSDATE( )
1
SCRIPT: 7c. Funciones SQL
© All rights reserved. www.keepcoding.io
DATE
➢ DATE
○ DATE(expresion)
1
SCRIPT: 7c. Funciones SQL
© All rights reserved. www.keepcoding.io
DATE_FORMAT
➢ DATE_FORMAT
○ DATE_FORMAT(fecha,formato)
1
SCRIPT: 7c. Funciones SQL
© All rights reserved. www.keepcoding.io
TIME_FORMAT
➢ TIME_FORMAT
○ TIME_FORMAT(hora,formato)
1
SCRIPT: 7c. Funciones SQL
© All rights reserved. www.keepcoding.io
TIME, MICROSECOND, SECOND, MINUTE, HOUR
➢ TIME
○ TIME( expresion)
➢ MICROSECOND
○ MICROSECOND(fecha)
➢ SECOND
○ SECOND(fecha)
➢ MINUTE
○ MINUTE(fecha)
➢ HOUR
○ HOUR(fecha)
1
SCRIPT: 7c. Funciones SQL
© All rights reserved. www.keepcoding.io
DAY, DAYNAME, LAST_DAY
➢ DAY
○ DAY(fecha)
➢ DAYNAME
○ DAYNAME(fecha)
➢ LAST_DAY
○ LAST_DAY(fecha)
1
SCRIPT: 7c. Funciones SQL
© All rights reserved. www.keepcoding.io
DAYOFWEEK, DAYOFMONTH, DAYOFYEAR
➢ DAYOFWEEK
○ DAYOFWEEK(fecha)
➢ DAYOFMONTH
○ DAYOFMONTH(fecha)
➢ DAYOFYEAR
○ DAYOFYEAR(fecha)
1
SCRIPT: 7c. Funciones SQL
© All rights reserved. www.keepcoding.io
WEEK, WEEKDAY, WEEKOFYEAR
➢ WEEK
○ WEEK(fecha, [modo])
➢ WEEKDAY
○ WEEKDAY(fecha)
➢ WEEKOFYEAR
○ WEEKOFYEAR(fecha)
1
SCRIPT: 7c. Funciones SQL
© All rights reserved. www.keepcoding.io
MONTH, MONTHNAME, QUARTER
➢ MONTH
○ MONTH(fecha)
➢ MONTHNAME
○ MONTHNAME(fecha)
➢ QUARTER
○ QUARTER(fecha)
1
SCRIPT: 7c. Funciones SQL
© All rights reserved. www.keepcoding.io
YEAR, YEARWEEK
➢ YEAR
○ YEAR(fecha)
➢ YEARWEEK
○ YEARWEEK(fecha, [modo])
1
SCRIPT: 7c. Funciones SQL
© All rights reserved. www.keepcoding.io
EXTRACT
➢ EXTRACT
○ EXTRACT(unidad FROM fecha)
1
SCRIPT: 7c. Funciones SQL
© All rights reserved. www.keepcoding.io
ADDDATE, DATE_ADD
➢ ADDDATE
○ ADDDATE(fecha, INTERVAL valor unidad)
○ ADDDATE(fecha, dias)
➢ DATE_ADD
○ DATE_ADD(fecha, INTERVAL valor unidad)
1
SCRIPT: 7c. Funciones SQL
© All rights reserved. www.keepcoding.io
SUBDATE, DATE_SUB
➢ SUBDATE
○ SUBDATE(fecha, INTERVAL valor unidad)
○ SUBDATE(fecha, dias)
➢ DATE_SUB
○ DATE_SUB(fecha, INTERVAL valor unidad)
1
SCRIPT: 7c. Funciones SQL
© All rights reserved. www.keepcoding.io
ADDTIME, SUBTIME, PERIOD_ADD
➢ ADDTIME
○ ADDTIME(fecha, tiempo)
➢ SUBTIME
○ SUBTIME(fecha, tiempo)
➢ PERIOD_ADD
○ PERIOD_ADD(periodo, numero)
1
SCRIPT: 7c. Funciones SQL
© All rights reserved. www.keepcoding.io
MAKEDATE, MAKETIME
➢ MAKEDATE
○ MAKEDATE(año, dia_del_año)
➢ MAKETIME
○ MAKETIME(hora,minuto,segundo)
1
SCRIPT: 7c. Funciones SQL
© All rights reserved. www.keepcoding.io
DATEDIFF, TIMEDIFF, PERIOD_DIFF
➢ DATEDIFF
○ DATEDIFF(fecha1, fecha2)
➢ TIMEDIFF
○ TIMEDIFF(tiempo1, tiempo2)
➢ PERIOD_DIFF
○ PERIOD_DIFF(periodo1, periodo2)
1
SCRIPT: 7c. Funciones SQL
© All rights reserved. www.keepcoding.io
TO_DAYS, FROM_DAYS
➢ TO_DAYS
○ TO_DAYS(fecha)
➢ FROM_DAYS
○ FROM_DAYS(fecha_en_numero)
1
SCRIPT: 7c. Funciones SQL
© All rights reserved. www.keepcoding.io
STR_TO_DATE
➢ STR_TO_DATE
○ STR_TO_DATE(cadena,formato)
1
SCRIPT: 7c. Funciones SQL
© All rights reserved. www.keepcoding.io
SEC_TO_TIME, TIME_TO_SEC
➢ SEC_TO_TIME
○ SEC_TO_TIME(segundos)
➢ TIME_TO_SEC
○ TIME_TO_SEC(tiempo)
1
SCRIPT: 7c. Funciones SQL
© All rights reserved. www.keepcoding.io
Otras funciones
1
© All rights reserved. www.keepcoding.io
BIN, BINARY
➢ BIN
○ BIN(numero)
➢ BINARY
○ BINARY valor
1
SCRIPT: 7d. Funciones SQL
© All rights reserved. www.keepcoding.io
CASE
➢ CASE
○ CASE [expresion]
WHEN condicion1 THEN resultado1
WHEN condicion2 THEN resultado2
…
WHEN condicionN THEN resultadoN
ELSE resultado
END
1
SCRIPT: 7d. Funciones SQL
© All rights reserved. www.keepcoding.io
CAST, CONVERT
➢ CAST
○ CAST(valor AS tipo)
➢ CONVERT
○ CONVERT(valor, tipo)
1
SCRIPT: 7d. Funciones SQL
© All rights reserved. www.keepcoding.io
COALESCE, CONV
➢ COALESCE
○ COALESCE(expresion1, expresion2,..., expresionN)
➢ CONV
○ CONV(numero, base_inicial,base_final)
1
SCRIPT: 7d. Funciones SQL
© All rights reserved. www.keepcoding.io
IF, IFNULL, ISNULL, NULLIF
➢ IF
○ IF(condicion, valor_si_cierto, valor_si_falso )
➢ IFNULL
○ IFNULL(expresion, valor_si_nulo)
➢ ISNULL
○ ISNULL(expresion)
➢ NULLIF
○ NULLIF(expresion1, expresion2)
1
SCRIPT: 7d. Funciones SQL
© All rights reserved. www.keepcoding.io
ENCRYPT, MD5
➢ ENCRYPT
○ ENCRYPT(cadena [,salto])
➢ MD5
○ MD5(cadena)
1
SCRIPT: 7d. Funciones SQL
© All rights reserved. www.keepcoding.io
Procedimientos y funciones
1
© All rights reserved. www.keepcoding.io
Procedimientos vs funciones
1
© All rights reserved. www.keepcoding.io
PROCEDURE
➢ PROCEDURE
○ CREATE PROCEDURE nombre_procedimiento [ (parametro1 tipo_dato [, parametro2 tipo dato,...]) ]
BEGIN
seccion_declaraciones
seccion ejecutable
END;
1
© All rights reserved. www.keepcoding.io
FUNCTION
➢ FUNCTION
○ CREATE FUNCTION nombre_funcion [ (parametro1 tipo_dato [, parametro2 tipo dato,...]) ]
RETURN tipo_dato_valor_salida
BEGIN
seccion_declaraciones
seccion ejecutable
END;
1
© All rights reserved. www.keepcoding.io
FUNCTION
➢ FUNCTION
○ CREATE FUNCTION nombre_funcion [ (parametro1 tipo_dato [, parametro2 tipo dato,...]) ]
RETURNS tipo_dato_valor_salida
BEGIN
seccion_declaraciones
seccion ejecutable
END;
1
© All rights reserved. www.keepcoding.io
Bucles y condicionales
1
© All rights reserved. www.keepcoding.io
IF
➢ IF
○ IF condicion1THEN
{declaraciones a ejecutar cuando condicion1 es VERDADERA}
[ ELSEIF condicion2 THEN
{declaraciones a ejecutar cuando condicion2 es VERDADERA} ]
[ ELSE
{declaraciones a ejecutar cuando condicion1 y condicion2 son FALSAS} ]
END IF;
1
SCRIPT: 8. Condicionales y bucles
© All rights reserved. www.keepcoding.io
WHILE
➢ WHILE
○ [nombre_etiqueta: ] WHILE condicion DO
{declaraciones}
END WHILE [ nombre_etiqueta ];
1
SCRIPT: 8. Condicionales y bucles
© All rights reserved. www.keepcoding.io
LOOP, ITERATE, LEAVE
➢ WHILE
○ [nombre_etiqueta: ] LOOP
{declaraciones}
END LOOP [ nombre_etiqueta ];
➢ ITERATE
○ ITERATE nombre_etiqueta ;
➢ LEAVE
○ LEAVE nombre_etiqueta ;
1
SCRIPT: 8. Condicionales y bucles
© All rights reserved. www.keepcoding.io
REPEAT
➢ REPEAT
○ [nombre_etiqueta: ] REPEAT
{declaraciones}
UNTIL condicion
END REPEAT[ nombre_etiqueta ];
1
SCRIPT: 8. Condicionales y bucles
© All rights reserved. www.keepcoding.io
Triggers
1
© All rights reserved. www.keepcoding.io
BEFORE INSERT TRIGGER
➢ BEFORE INSERT TRIGGER
○ CREATE TRIGGER nombre_trigger
BEFORE INSERT ON nombre_tabla FOR EACH ROW
BEGIN
seccion_declaraciones
codigo_trigger
END;
1
SCRIPT: 9. Triggers
© All rights reserved. www.keepcoding.io
AFTER INSERT TRIGGER
➢ AFTER INSERT TRIGGER
○ CREATE TRIGGER nombre_trigger
BEFORE INSERT ON nombre_tabla FOR EACH ROW
BEGIN
seccion_declaraciones
codigo_trigger
END;
1
© All rights reserved. www.keepcoding.io
BEFORE UPDATE TRIGGER
➢ BEFORE UPDATE TRIGGER
○ CREATE TRIGGER nombre_trigger
BEFORE UPDATE ON nombre_tabla FOR EACH ROW
BEGIN
seccion_declaraciones
codigo_trigger
END;
1
© All rights reserved. www.keepcoding.io
AFTER UPDATE TRIGGER
➢ AFTER UPDATE TRIGGER
○ CREATE TRIGGER nombre_trigger
AFTER UPDATE ON nombre_tabla FOR EACH ROW
BEGIN
seccion_declaraciones
codigo_trigger
END;
1
© All rights reserved. www.keepcoding.io
BEFORE DELETE TRIGGER
➢ BEFORE DELETE TRIGGER
○ CREATE TRIGGER nombre_trigger
BEFORE DELETE ON nombre_tabla FOR EACH ROW
BEGIN
seccion_declaraciones
codigo_trigger
END;
1
© All rights reserved. www.keepcoding.io
AFTER DELETE TRIGGER
➢ AFTER DELETE TRIGGER
○ CREATE TRIGGER nombre_trigger
AFTER DELETE ON nombre_tabla FOR EACH ROW
BEGIN
seccion_declaraciones
codigo_trigger
END;
1
© All rights reserved. www.keepcoding.io
Cursores
1
© All rights reserved. www.keepcoding.io
DECLARE Cursor, Cursor NOT FOUND
➢ DECLARE Cursor
○ DECLARE nombre_cursor CURSOR FOR
declaracion_select;
➢ Cursor NOT FOUND
○ DECLARE CONTINUE HANDLER FOR NOT FOUND [ condiciones ] ;
1
SCRIPT: 10. cursores
© All rights reserved. www.keepcoding.io
OPEN Cursor, CLOSE Cursor, FETCH Cursor
➢ OPEN Cursor
○ OPEN nombre_cursor;
➢ CLOSE Cursor
○ CLOSE nombre_cursor ;
➢ FETCH Cursor
○ FETCH [ NEXT [ FROM ] ] nombre_cursor INTO lista_variables ;
1
SCRIPT: 10. cursores
© All rights reserved. www.keepcoding.io
¿Programas para realizar el
diagrama de BBDD?
1
© All rights reserved. www.keepcoding.io
¿Programas para realizar el diagrama de BBDD?
➢ ERWIN
○ https://erwin.com/products/data-modeler/
➢ CACOO
○ https://cacoo.com/
➢ MySQL WORKBENCH
○ https://dev.mysql.com/doc/workbench/en/
➢ POWERPOINT
○ Con paciencia
1
© All rights reserved. www.keepcoding.io
Y esto se acaba...
1
© All rights reserved. www.keepcoding.io
Anexo
1
© All rights reserved. www.keepcoding.io
Anexo (I)
Familias
Simpsons
y Bouvier
1
© All rights reserved. www.keepcoding.io
Anexo (II)
Familia
Flanders
1
© All rights reserved. www.keepcoding.io
Anexo (III)
Familia
Wiggum
1
© All rights reserved. www.keepcoding.io
Anexo (IV)
Familia
Spuckler
1
© All rights reserved. www.keepcoding.io
Anexo (V)
Familia
Nahasapeemapetilon
1
© All rights reserved. www.keepcoding.io
Anexo (VI)
Familia
Van
Houten
1
© All rights reserved. www.keepcoding.io
Anexo (VII)
Familia
Burns
1
© All rights reserved. www.keepcoding.io
Anexo (VIII)
Familia
Muntz
1
© All rights reserved. www.keepcoding.io
Anexo (IX)
Familia
Skinner
1
© All rights reserved. www.keepcoding.io
Anexo (X)
Familia
Lovejoy
1
© All rights reserved. www.keepcoding.io
Anexo (X)
Familia
Hibbert
1
© All rights reserved. www.keepcoding.io
Anexo (XI)
Familia
Prince
1
© All rights reserved. www.keepcoding.io
Anexo (XII)
Otros
personajes
1
© All rights reserved. www.keepcoding.io
Anexo (XIII)
Otros
personajes
1
© All rights reserved. www.keepcoding.io
Anexo (XIV)
Otros
personajes
1
© All rights reserved. www.keepcoding.io
Anexo (XV)
Otros
personajes
1
© All rights reserved. www.keepcoding.io
Anexo (XVI)
Otros
personajes
1
© All rights reserved. www.keepcoding.io
Anexo (XVII)
Ciudades
➢ Springfield
➢ Shelbyville
➢ Capital City
➢ Cypress Creek
➢ Bronson, Missouri
➢ Humbleton, Pennsylvania
➢ Brockway
➢ Ogdenville
➢ Barnacle Bay
➢ North Havenbrook
➢ Terror Lake
➢ Detroit
1
© All rights reserved. www.keepcoding.io
Anexo (XVIII)
Lugares
1
© All rights reserved. www.keepcoding.io
Anexo (XIX)
1
Lugares
© All rights reserved. www.keepcoding.io
Anexo (XX)
1
Lugares
© All rights reserved. www.keepcoding.io
Anexo (XXI)
1
Lugares
© All rights reserved. www.keepcoding.io
Anexo (XXII)
1
Lugares
© All rights reserved. www.keepcoding.io
Anexo (XXIII)
1
Lugares
© All rights reserved. www.keepcoding.io
Anexo (XXIV)
1
Lugares
© All rights reserved. www.keepcoding.io
Anexo (XXV)
1
Lugares
© All rights reserved. www.keepcoding.io
Anexo (XXVI)
1
Lugares
© All rights reserved. www.keepcoding.io
Anexo (XXVII)
1
Lugares
© All rights reserved. www.keepcoding.io
Anexo (XXVIII)
1
Lugares
© All rights reserved. www.keepcoding.io
Anexo (XXIX)
1
Lugares
© All rights reserved. www.keepcoding.io
Anexo (XXX)
1
Lugares
© All rights reserved. www.keepcoding.io
Anexo (XXXI)
1
Frases
famosas
© All rights reserved. www.keepcoding.io
Anexo (XXXII)
1
Frases
famosas
© All rights reserved. www.keepcoding.io
Anexo (XXXIII)
1
Frases
famosas
© All rights reserved. www.keepcoding.io
Anexo (XXXIV)
1
Frases
famosas
© All rights reserved. www.keepcoding.io
Anexo (XXXV)
1
Frases
famosas
© All rights reserved. www.keepcoding.io
Anexo (XXXVI)
1
Frases
famosas

Más contenido relacionado

La actualidad más candente

Skeleton Framework [Elwin]
Skeleton Framework [Elwin]Skeleton Framework [Elwin]
Skeleton Framework [Elwin]Elwin Huaman
 
Normalización de la base de datos (3 formas normales)
Normalización de la base de datos (3 formas normales)Normalización de la base de datos (3 formas normales)
Normalización de la base de datos (3 formas normales)michell_quitian
 
Metodologías agiles de desarrollo de software
Metodologías agiles de desarrollo de softwareMetodologías agiles de desarrollo de software
Metodologías agiles de desarrollo de softwareDomingo Gallardo
 
Tabla comparativa de herramientas case oswaldo mauleon
Tabla comparativa de herramientas case oswaldo mauleon Tabla comparativa de herramientas case oswaldo mauleon
Tabla comparativa de herramientas case oswaldo mauleon oswaldoyuneri
 
Diagrama de componentes
Diagrama de componentesDiagrama de componentes
Diagrama de componentesuitron
 
3.1 inserción, eliminación y modificación de registros
3.1 inserción, eliminación y modificación de registros3.1 inserción, eliminación y modificación de registros
3.1 inserción, eliminación y modificación de registrosMeztli Valeriano Orozco
 
Tipos de datos en access
Tipos de datos en accessTipos de datos en access
Tipos de datos en accessMildred Loor
 
Taller TestingUy 2019 - Técnicas de diseño de pruebas de caja negra
Taller TestingUy 2019 - Técnicas de diseño de pruebas de caja negraTaller TestingUy 2019 - Técnicas de diseño de pruebas de caja negra
Taller TestingUy 2019 - Técnicas de diseño de pruebas de caja negraTestingUy
 
Tabla comparativa- metodologías de desarrollo
Tabla comparativa-  metodologías de desarrolloTabla comparativa-  metodologías de desarrollo
Tabla comparativa- metodologías de desarrolloitsarellano
 
Llegar a raiz, entrar a una carpeta a base del comando CD y cambio de unidade...
Llegar a raiz, entrar a una carpeta a base del comando CD y cambio de unidade...Llegar a raiz, entrar a una carpeta a base del comando CD y cambio de unidade...
Llegar a raiz, entrar a una carpeta a base del comando CD y cambio de unidade...CarlosMadera15
 
PSW Unidad 4 ESTIMACIÓN DE PROYECTOS DE SOFTWARE
PSW Unidad 4 ESTIMACIÓN DE PROYECTOS DE SOFTWAREPSW Unidad 4 ESTIMACIÓN DE PROYECTOS DE SOFTWARE
PSW Unidad 4 ESTIMACIÓN DE PROYECTOS DE SOFTWAREFranklin Parrales Bravo
 

La actualidad más candente (20)

Skeleton Framework [Elwin]
Skeleton Framework [Elwin]Skeleton Framework [Elwin]
Skeleton Framework [Elwin]
 
Normalización de la base de datos (3 formas normales)
Normalización de la base de datos (3 formas normales)Normalización de la base de datos (3 formas normales)
Normalización de la base de datos (3 formas normales)
 
Colecciones en Python
Colecciones en PythonColecciones en Python
Colecciones en Python
 
Metodo de busqueda
Metodo de busquedaMetodo de busqueda
Metodo de busqueda
 
Tipos de-datos-power-designer
Tipos de-datos-power-designerTipos de-datos-power-designer
Tipos de-datos-power-designer
 
Metodologías agiles de desarrollo de software
Metodologías agiles de desarrollo de softwareMetodologías agiles de desarrollo de software
Metodologías agiles de desarrollo de software
 
Bd no sql conceptos basicos
Bd no sql conceptos basicosBd no sql conceptos basicos
Bd no sql conceptos basicos
 
Unidad 3 Fundamentos de bases de datos
Unidad 3 Fundamentos de bases de datosUnidad 3 Fundamentos de bases de datos
Unidad 3 Fundamentos de bases de datos
 
Tabla comparativa de herramientas case oswaldo mauleon
Tabla comparativa de herramientas case oswaldo mauleon Tabla comparativa de herramientas case oswaldo mauleon
Tabla comparativa de herramientas case oswaldo mauleon
 
Diagrama de componentes
Diagrama de componentesDiagrama de componentes
Diagrama de componentes
 
3.1 inserción, eliminación y modificación de registros
3.1 inserción, eliminación y modificación de registros3.1 inserción, eliminación y modificación de registros
3.1 inserción, eliminación y modificación de registros
 
Tipos de datos en access
Tipos de datos en accessTipos de datos en access
Tipos de datos en access
 
Taller TestingUy 2019 - Técnicas de diseño de pruebas de caja negra
Taller TestingUy 2019 - Técnicas de diseño de pruebas de caja negraTaller TestingUy 2019 - Técnicas de diseño de pruebas de caja negra
Taller TestingUy 2019 - Técnicas de diseño de pruebas de caja negra
 
Arquitectura sql
Arquitectura sqlArquitectura sql
Arquitectura sql
 
Presentación proceso del software
Presentación proceso del softwarePresentación proceso del software
Presentación proceso del software
 
Tabla comparativa- metodologías de desarrollo
Tabla comparativa-  metodologías de desarrolloTabla comparativa-  metodologías de desarrollo
Tabla comparativa- metodologías de desarrollo
 
Huong dan dung index_oracle
Huong dan dung index_oracleHuong dan dung index_oracle
Huong dan dung index_oracle
 
Llegar a raiz, entrar a una carpeta a base del comando CD y cambio de unidade...
Llegar a raiz, entrar a una carpeta a base del comando CD y cambio de unidade...Llegar a raiz, entrar a una carpeta a base del comando CD y cambio de unidade...
Llegar a raiz, entrar a una carpeta a base del comando CD y cambio de unidade...
 
Presentacion de Microsoft SQL Server.
Presentacion de Microsoft SQL Server. Presentacion de Microsoft SQL Server.
Presentacion de Microsoft SQL Server.
 
PSW Unidad 4 ESTIMACIÓN DE PROYECTOS DE SOFTWARE
PSW Unidad 4 ESTIMACIÓN DE PROYECTOS DE SOFTWAREPSW Unidad 4 ESTIMACIÓN DE PROYECTOS DE SOFTWARE
PSW Unidad 4 ESTIMACIÓN DE PROYECTOS DE SOFTWARE
 

Similar a Diapositivas MySQL.pptx

Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2Julián Castiblanco
 
Taller Redis
Taller RedisTaller Redis
Taller Redisbetabeers
 
Aplicaciones web altamente escalables con Redis
Aplicaciones web altamente escalables con RedisAplicaciones web altamente escalables con Redis
Aplicaciones web altamente escalables con RedisAlberto Gimeno
 
Sistema Gestor de Base de Datos MYSQL
Sistema Gestor de Base de Datos MYSQLSistema Gestor de Base de Datos MYSQL
Sistema Gestor de Base de Datos MYSQLlissette_torrealba
 
Redis, base de datos NoSQL clave-valor
Redis, base de datos NoSQL clave-valorRedis, base de datos NoSQL clave-valor
Redis, base de datos NoSQL clave-valorAlberto Gimeno
 
Gestores de base de datos
Gestores de base de datosGestores de base de datos
Gestores de base de datosMarlene Torres
 
Otoniel hernandez datashow - los gestores de base de datos
Otoniel hernandez   datashow - los gestores de base de datosOtoniel hernandez   datashow - los gestores de base de datos
Otoniel hernandez datashow - los gestores de base de datosOtoniel Hernandez
 
Otoniel hernandez datashow - los gestores de base de datos
Otoniel hernandez   datashow - los gestores de base de datosOtoniel hernandez   datashow - los gestores de base de datos
Otoniel hernandez datashow - los gestores de base de datosomar5544
 
Unidad 1 - Introducción a los Sistemas de Gestión de Bases de Datos.pdf
Unidad 1 - Introducción a los Sistemas de Gestión de Bases de Datos.pdfUnidad 1 - Introducción a los Sistemas de Gestión de Bases de Datos.pdf
Unidad 1 - Introducción a los Sistemas de Gestión de Bases de Datos.pdfDanielMarquez902683
 
Exposición SQLite Universidad de la Guajira
Exposición SQLite Universidad de la Guajira   Exposición SQLite Universidad de la Guajira
Exposición SQLite Universidad de la Guajira Javier Pinto
 

Similar a Diapositivas MySQL.pptx (20)

Base de datos - Clase 1
Base de datos - Clase 1Base de datos - Clase 1
Base de datos - Clase 1
 
Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2
 
Taller Redis
Taller RedisTaller Redis
Taller Redis
 
Aplicaciones web altamente escalables con Redis
Aplicaciones web altamente escalables con RedisAplicaciones web altamente escalables con Redis
Aplicaciones web altamente escalables con Redis
 
SQLite3
SQLite3SQLite3
SQLite3
 
Sistema Gestor de Base de Datos MYSQL
Sistema Gestor de Base de Datos MYSQLSistema Gestor de Base de Datos MYSQL
Sistema Gestor de Base de Datos MYSQL
 
Guía de MySql - Lissette Torrealba
Guía de MySql  - Lissette TorrealbaGuía de MySql  - Lissette Torrealba
Guía de MySql - Lissette Torrealba
 
Introducción a CloudKit
Introducción a CloudKitIntroducción a CloudKit
Introducción a CloudKit
 
My sql clase_1
My sql clase_1My sql clase_1
My sql clase_1
 
Sq lite
Sq liteSq lite
Sq lite
 
Redis, base de datos NoSQL clave-valor
Redis, base de datos NoSQL clave-valorRedis, base de datos NoSQL clave-valor
Redis, base de datos NoSQL clave-valor
 
Gestores de base de datos
Gestores de base de datosGestores de base de datos
Gestores de base de datos
 
Otoniel hernandez datashow - los gestores de base de datos
Otoniel hernandez   datashow - los gestores de base de datosOtoniel hernandez   datashow - los gestores de base de datos
Otoniel hernandez datashow - los gestores de base de datos
 
Otoniel hernandez datashow - los gestores de base de datos
Otoniel hernandez   datashow - los gestores de base de datosOtoniel hernandez   datashow - los gestores de base de datos
Otoniel hernandez datashow - los gestores de base de datos
 
Unidad 1 - Introducción a los Sistemas de Gestión de Bases de Datos.pdf
Unidad 1 - Introducción a los Sistemas de Gestión de Bases de Datos.pdfUnidad 1 - Introducción a los Sistemas de Gestión de Bases de Datos.pdf
Unidad 1 - Introducción a los Sistemas de Gestión de Bases de Datos.pdf
 
Basesdedaro
BasesdedaroBasesdedaro
Basesdedaro
 
Exposición SQLite Universidad de la Guajira
Exposición SQLite Universidad de la Guajira   Exposición SQLite Universidad de la Guajira
Exposición SQLite Universidad de la Guajira
 
Base de datos
Base de datos Base de datos
Base de datos
 
Unidad iv ddl
Unidad iv ddlUnidad iv ddl
Unidad iv ddl
 
My SQL
My SQLMy SQL
My SQL
 

Último

Las familias más ricas del sionismo en el siglo XXI.pdf
Las familias más ricas del sionismo en el siglo XXI.pdfLas familias más ricas del sionismo en el siglo XXI.pdf
Las familias más ricas del sionismo en el siglo XXI.pdfJC Díaz Herrera
 
AA CUADRO DE TEORIA DEL CASO. (1) (1).docx
AA CUADRO DE TEORIA DEL CASO. (1) (1).docxAA CUADRO DE TEORIA DEL CASO. (1) (1).docx
AA CUADRO DE TEORIA DEL CASO. (1) (1).docxLuisAngelYomonaYomon
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresamerca6
 
Familias más ricas de AL por países (2024).pdf
Familias más ricas de AL por países (2024).pdfFamilias más ricas de AL por países (2024).pdf
Familias más ricas de AL por países (2024).pdfJC Díaz Herrera
 
Panorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATOPanorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATOJuan Carlos Fonseca Mata
 
triptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciatriptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciaferg6120
 
INTRODUCCION-A-LOS-ALGORITMOS-BASICOS.pptx
INTRODUCCION-A-LOS-ALGORITMOS-BASICOS.pptxINTRODUCCION-A-LOS-ALGORITMOS-BASICOS.pptx
INTRODUCCION-A-LOS-ALGORITMOS-BASICOS.pptxJamesHerberthBacaTel
 
Presentacion-Prevencion-Incendios-Forestales.pdf
Presentacion-Prevencion-Incendios-Forestales.pdfPresentacion-Prevencion-Incendios-Forestales.pdf
Presentacion-Prevencion-Incendios-Forestales.pdfDodiAcuaArstica
 
Triptico-del-Bullying qué es, cómo detectarlo, donde acudir
Triptico-del-Bullying qué es, cómo detectarlo, donde acudirTriptico-del-Bullying qué es, cómo detectarlo, donde acudir
Triptico-del-Bullying qué es, cómo detectarlo, donde acudirluis809799
 
Técnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalTécnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalIngrid459352
 
Posiciones en el IDH global de EUA (1950-2024).pdf
Posiciones en el IDH global de EUA (1950-2024).pdfPosiciones en el IDH global de EUA (1950-2024).pdf
Posiciones en el IDH global de EUA (1950-2024).pdfJC Díaz Herrera
 
presentacion de conjuntos para primaria.ppt
presentacion de conjuntos para primaria.pptpresentacion de conjuntos para primaria.ppt
presentacion de conjuntos para primaria.pptMelina Alama Visitacion
 
Los más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdfLos más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdfJC Díaz Herrera
 
PIB PERÚ datos y análisis de los últimos años
PIB PERÚ datos y análisis de los últimos añosPIB PERÚ datos y análisis de los últimos años
PIB PERÚ datos y análisis de los últimos añosEstefaniaRojas54
 
Listas de Fundamentos de Programación 2024
Listas de Fundamentos de Programación 2024Listas de Fundamentos de Programación 2024
Listas de Fundamentos de Programación 2024AndrsReinosoSnchez1
 
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticAnálisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticJamithGarcia1
 
Posiciones del IDH a nivel global en México (1982-2024).pdf
Posiciones del IDH a nivel global en México (1982-2024).pdfPosiciones del IDH a nivel global en México (1982-2024).pdf
Posiciones del IDH a nivel global en México (1982-2024).pdfJC Díaz Herrera
 
PANTEÓN DE Paris en historia de la arquitectura
PANTEÓN DE Paris en historia de la arquitecturaPANTEÓN DE Paris en historia de la arquitectura
PANTEÓN DE Paris en historia de la arquitecturaRosaHurtado26
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfJC Díaz Herrera
 
Novelas Turcas vs Series de EUA en audiencia (2024).pdf
Novelas Turcas vs Series de EUA en audiencia  (2024).pdfNovelas Turcas vs Series de EUA en audiencia  (2024).pdf
Novelas Turcas vs Series de EUA en audiencia (2024).pdfJC Díaz Herrera
 

Último (20)

Las familias más ricas del sionismo en el siglo XXI.pdf
Las familias más ricas del sionismo en el siglo XXI.pdfLas familias más ricas del sionismo en el siglo XXI.pdf
Las familias más ricas del sionismo en el siglo XXI.pdf
 
AA CUADRO DE TEORIA DEL CASO. (1) (1).docx
AA CUADRO DE TEORIA DEL CASO. (1) (1).docxAA CUADRO DE TEORIA DEL CASO. (1) (1).docx
AA CUADRO DE TEORIA DEL CASO. (1) (1).docx
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresa
 
Familias más ricas de AL por países (2024).pdf
Familias más ricas de AL por países (2024).pdfFamilias más ricas de AL por países (2024).pdf
Familias más ricas de AL por países (2024).pdf
 
Panorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATOPanorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATO
 
triptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciatriptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescencia
 
INTRODUCCION-A-LOS-ALGORITMOS-BASICOS.pptx
INTRODUCCION-A-LOS-ALGORITMOS-BASICOS.pptxINTRODUCCION-A-LOS-ALGORITMOS-BASICOS.pptx
INTRODUCCION-A-LOS-ALGORITMOS-BASICOS.pptx
 
Presentacion-Prevencion-Incendios-Forestales.pdf
Presentacion-Prevencion-Incendios-Forestales.pdfPresentacion-Prevencion-Incendios-Forestales.pdf
Presentacion-Prevencion-Incendios-Forestales.pdf
 
Triptico-del-Bullying qué es, cómo detectarlo, donde acudir
Triptico-del-Bullying qué es, cómo detectarlo, donde acudirTriptico-del-Bullying qué es, cómo detectarlo, donde acudir
Triptico-del-Bullying qué es, cómo detectarlo, donde acudir
 
Técnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalTécnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dental
 
Posiciones en el IDH global de EUA (1950-2024).pdf
Posiciones en el IDH global de EUA (1950-2024).pdfPosiciones en el IDH global de EUA (1950-2024).pdf
Posiciones en el IDH global de EUA (1950-2024).pdf
 
presentacion de conjuntos para primaria.ppt
presentacion de conjuntos para primaria.pptpresentacion de conjuntos para primaria.ppt
presentacion de conjuntos para primaria.ppt
 
Los más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdfLos más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdf
 
PIB PERÚ datos y análisis de los últimos años
PIB PERÚ datos y análisis de los últimos añosPIB PERÚ datos y análisis de los últimos años
PIB PERÚ datos y análisis de los últimos años
 
Listas de Fundamentos de Programación 2024
Listas de Fundamentos de Programación 2024Listas de Fundamentos de Programación 2024
Listas de Fundamentos de Programación 2024
 
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticAnálisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
 
Posiciones del IDH a nivel global en México (1982-2024).pdf
Posiciones del IDH a nivel global en México (1982-2024).pdfPosiciones del IDH a nivel global en México (1982-2024).pdf
Posiciones del IDH a nivel global en México (1982-2024).pdf
 
PANTEÓN DE Paris en historia de la arquitectura
PANTEÓN DE Paris en historia de la arquitecturaPANTEÓN DE Paris en historia de la arquitectura
PANTEÓN DE Paris en historia de la arquitectura
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdf
 
Novelas Turcas vs Series de EUA en audiencia (2024).pdf
Novelas Turcas vs Series de EUA en audiencia  (2024).pdfNovelas Turcas vs Series de EUA en audiencia  (2024).pdf
Novelas Turcas vs Series de EUA en audiencia (2024).pdf
 

Diapositivas MySQL.pptx

  • 1. © All rights reserved. www.keepcoding.io Introducción a BBDD relacionales, SQL y MySQL
  • 2. © All rights reserved. www.keepcoding.io ¿Quién soy yo? 2 @SandraNavarro37 https//www.linkedin.com/in/sandra-navarro-nieto/
  • 3. © All rights reserved. www.keepcoding.io Objetivos Ser capaces de manejar SQL con el motor MySQL para: ➢Crear una BBDD ➢ Actualizar la BBDD una vez creada ➢Ser capaces de hacer consultas diversas según la información que necesitemos obtener 3
  • 4. © All rights reserved. www.keepcoding.io Índice (I) ➢ Presentación ➢ Bases de datos > Definición de bases de datos > Bases de datos relacionales > Motores de bases de datos ➢ MySQL > Introducción a MySQL > The Hello World Collection > Hola mundo ➢MySQL - Manipulación de BBDD > Comandos SHOW, CREATE DATABASE, DROP DATABASE, USE 4
  • 5. © All rights reserved. www.keepcoding.io Índice (II) ➢MySQL - Manipulación de tablas > Tipos de datos • Tipos de datos STRING • Tipos de datos NUMÉRICOS • Tipos de datos FECHA • Tipos de datos LOB > Diagrama de BBDD > Claves primarias y foráneas > Formas normales > Comandos CREATE TABLE, DROP TABLE, RENAME TABLE > Comando ALTER TABLE > Índices, índice único, primary key > Comandos INSERT, COMMIT, ROLLBACK > Comandos DELETE, TRUNCATE > Comando INSERT (II) y UPDATE > Comandos PRIMARY KEY y FOREIGN KEY > Comando CREATE INDEX > Comando CREATE VIEW 5
  • 6. © All rights reserved. www.keepcoding.io Índice (III) ➢ MySQL - Comandos SQL > SELECT, DISTINCT, WHERE y ALIAS > AND/OR, IN, BETWEEN, LIKE y NOT > Funciones aritméticas > ORDER BY, GROUP BY, HAVING y LIMIT > JOINS > CONCAT, SUBSTRING y TRIM > UNION y UNION ALL > EXISTS, CASE > Operadores de comparación > IS NULL, IS NOT NULL > Subqueries > Practicando lo aprendido 6
  • 7. © All rights reserved. www.keepcoding.io Índice (IV) ➢ Funciones SQL > Funciones para STRINGS • CHAR_LENGTH, CHARACTER_LENGTH, LENGTH • LCASE, LOWER, UCASE, UPPER • LTRIM, RTRIM, TRIM • CONCAT, CONCAT_WS • FIELD, FIND_IN_SET, INSTR, LOCATE, POSITION • RPAD, LPAD, FORMAT • SUBSTR, MID, SUBSTRING, SUBSTRING_INDEX, LEFT, RIGHT • INSERT, REPEAT, SPACE • REPLACE, REVERSE • STRCMP • ASCII 7
  • 8. © All rights reserved. www.keepcoding.io Índice (V) > Funciones numéricas • SQRT, POW, POWER • ABS, SIGN • SUM, MAX, MIN, AVG • DIV, MOD • ROUND, TRUNCATE, CEIL, CEILING, FLOOR • RAND • GREATEST, LEAST • EXP, LN, LOG10, LOG2, LOG • RADIANS, DEGREES, PI • SIN, COS, TAN, COT • ASIN, ACOS, ATAN 8
  • 9. © All rights reserved. www.keepcoding.io Índice (VI) > Funciones para FECHAS/TIEMPO • CURDATE, CURRENT_DATE, CURTIME, CURRENT_TIME • CURRENT_TIMESTAMP, LOCALTIME, LOCALTIMESTAMP, NOW, SYSDATE • DATE • DATE_FORMAT • TIME_FORMAT • TIME, MICROSECOND, SECOND, MINUTE, HOUR • DAY, DAYNAME, LAST_DAY • DAYOFWEEK, DAYOFMONTH, DAYOFYEAR • WEEK, WEEKDAY, WEEKOFYEAR • MONTH, MONTHNAME, QUARTER • YEAR, YEARWEEK • EXTRACT • ADDDATE, DATE_ADD • SUBDATE, DATE_SUB • ADDTIME, SUBTIME, PERIOD_ADD • MAKEDATE, MAKETIME • DATEDIFF, TIMEDIFF, PERIOD_DIFF • TO_DAYS, FROM_DAYS • STR_TO_DATE • SEC_TO_TIME, TIME_TO_SEC 9
  • 10. © All rights reserved. www.keepcoding.io Índice (VII) > Otras funciones • BIN, BINARY • CASE • CAST, CONVERT • COALESCE, CONV • IF, IFNULL, ISNULL, NULLIF • ENCRYPT, MD5 ➢Procedimientos y funciones > Procedimientos vs Funciones > PROCEDURE > FUNCTION 1
  • 11. © All rights reserved. www.keepcoding.io Índice (VIII) ➢ Bucles y condicionales > IF > WHILE > LOOP, ITERATE, LEAVE > REPEAT ➢ Triggers > BEFORE INSERT TRIGGER > AFTER INSERT TRIGGER > BEFORE UPDATE TRIGGER > AFTER UPDATE TRIGGER > BEFORE DELETE TRIGGER > AFTER DELETE TRIGGER 1
  • 12. © All rights reserved. www.keepcoding.io Índice (IX) ➢Cursores > DECLARE Cursor, Cursor NOT FOUND > OPEN Cursor, CLOSE Cursor, FETCH Cursor ➢ ¿Programas para realizar el diagrama de BBDD? ➢ Anexo 1
  • 13. © All rights reserved. www.keepcoding.io Bases de datos 1
  • 14. © All rights reserved. www.keepcoding.io Definición de base de datos ➢ Una BBDD es una colección electrónica de información diseñada para satisfacer unas determinadas necesidades: > Pueden contener información de diversas fuentes > Proporcionan mecanismos para extraer rápidamente los datos > Permiten compartir información entre los distintos departamentos de una empresa. ➢ Las BBDD son uno de los pilares de la informática. ➢ Las bases de datos están por todos lados a nivel informático. 1
  • 15. © All rights reserved. www.keepcoding.io Bases de datos relaciones (I) ➢ En un principio existían dos modelos de bases de datos: el jerárquico y el de redes, de los cuales el de redes era el que más se adaptaba a las necesidades reales de almacenamiento y clasificación. ➢ Posteriormente, aparecieron las bases de datos relacionales ➢ Una BBDD relacional se compone de tablas, que a su vez están compuestas de campos, los cuales están formados por filas y columnas. 1
  • 16. © All rights reserved. www.keepcoding.io Bases de datos relaciones (II) ➢ Las bases de datos relacionales tienen la ventaja de "relacionarse" entre sí sin la necesidad de duplicar una gran cantidad de información, basadas en un lenguaje estándar llamado SQL (Structured Query Language), el cual es, podríamos decir, la razón para que las bases de datos relacionales tengan un éxito tan arrollador. 1
  • 17. © All rights reserved. www.keepcoding.io Motores de bases de datos (I) ➢ Los tres más usados son Oracle, SQL Server y MySQL. ➢ PostgreSQL es muy utilizada para bases de datos geográficas 1
  • 18. © All rights reserved. www.keepcoding.io Motores de bases de datos (II) El crecimiento de MySQL es cada vez mayor frente a sus competidores que van perdiendo mercado. 1
  • 19. © All rights reserved. www.keepcoding.io MySQL 1
  • 20. © All rights reserved. www.keepcoding.io Introducción a MySQL MySQL es un software creado por MySQL AB y es un software multiusuario, multihilos y un servidor SQL (Structured Query Language). 2
  • 21. © All rights reserved. www.keepcoding.io Ejercicio práctico (I) 2
  • 22. © All rights reserved. www.keepcoding.io The Hello World Collection https://helloworldcollection.github.io/ 2
  • 23. © All rights reserved. www.keepcoding.io Hola mundo 2
  • 24. © All rights reserved. www.keepcoding.io MySQL - Manipulación de BBDD 2
  • 25. © All rights reserved. www.keepcoding.io Comandos SHOW, CREATE DATABASE, DROP DATABASE, USE ➢ SHOW > SHOW DATABASES; > SHOW TABLES FROM nombre_bbdd; > SHOW COLUMNS from nombre_bbdd.nombre_tabla; ➢ CREATE DATABASE > CREATE DATABASE nombre_bbdd; > CREATE DATABASE IF NOT EXISTS nombre_bbdd; ➢ DROP DATABASE > DROP DATABASE nombre_bbdd; ➢ USE > USE nombre_bbdd; SCRIPT: 1.Creación de la BBDD 2 SCRIPT: 0. Mostrar contenido de BBDD
  • 26. © All rights reserved. www.keepcoding.io MySQL - Manipulación de tablas 2
  • 27. © All rights reserved. www.keepcoding.io Tipos de datos (I) 2 ➢ Tipos de datos STRING
  • 28. © All rights reserved. www.keepcoding.io Tipos de datos (II) 2 ➢ Tipos de datos NUMÉRICOS
  • 29. © All rights reserved. www.keepcoding.io Tipos de datos (III) 2
  • 30. © All rights reserved. www.keepcoding.io Tipos de datos (IV) 3
  • 31. © All rights reserved. www.keepcoding.io Tipos de datos (V) 3 ➢ Tipos de datos FECHA
  • 32. © All rights reserved. www.keepcoding.io Tipos de datos (VI) 3 ➢ Tipos de datos LOB (Large Objects)
  • 33. © All rights reserved. www.keepcoding.io Ejercicio práctico (II) En la serie de los Simpsons tenemos: ➢ Personajes ➢ Cada personaje puede ser Hombre o Mujer ➢ Cada personaje pertenece a una familia ➢ Una familia puede tener mascotas ➢ Cada personaje vive en un lugar de residencia ➢ Cada personaje tiene o no un empleo y éste se desarrolla en un lugar ➢ Hay personajes que están casados 3
  • 34. © All rights reserved. www.keepcoding.io Ejercicio práctico (III) ➢ Id → identificador del registro en la tabla ➢ fecha_insert → fecha en la que se insertó el registro ➢ fecha_modificacion → fecha en la que se ha modificado el registro ➢ Desc → descripción de un lugar, una ciudad, el nombre de un personaje, de una mascota, etc. 3
  • 35. © All rights reserved. www.keepcoding.io Claves primarias y foráneas ➢ Clave primaria (Primary Key) > Consiste en una o más columnas cuyos datos contenidos son utilizados para identificar de manera única cada fila en la tabla. > No puede haber duplicados. > No puede tener registros vacíos. > Sólo puede haber una por tabla. > Se almacena en un índice. ➢ Clave foránea (Foreign Key) > Es un grupo de una o más columnas en una tabla que referencian a la clave primaria de otra tabla. > Puede formar parte de la clave primaria > Puede contener duplicados > Puede tener registros vacíos. > En la misma tabla puede haber varias. 3
  • 36. © All rights reserved. www.keepcoding.io Ejercicio práctico (IV) 3
  • 37. © All rights reserved. www.keepcoding.io Formas normales 3 ➢ NF1 > La tabla contiene una clave única > No tiene datos repetidos ➢ NF2 > NF1 > Todo registro debe depender únicamente de la clave principal > Las columnas pueden depender de otras tablas, pero de campos que sean clave en sus respectivas tablas ➢ NF3 > NF2 > No puede haber columnas que dependen de otras columnas que no sean clave principal
  • 38. © All rights reserved. www.keepcoding.io Ejercicio práctico (V) 3
  • 39. © All rights reserved. www.keepcoding.io Ventajas de las formas normales 3 ➢Elimina redundancias ➢ Alerta en los updates ➢ Nos da fiabilidad y confianza ➢ Reducir espacio de almacenamiento en la base de datos. ➢ Conseguimos integridad referencial
  • 40. © All rights reserved. www.keepcoding.io Otras formas normales 4 ➢ NF4 > 3NF > Las relaciones muchos a muchos entre tablas no tiene redundancia ➢ NF5 > 4NF > La tabla original debe ser reconstruida desde las tablas resultantes en las cuales ha sido troceada. ➢ NF6 > 5NF > Si se tiene más de dos claves candidatas en una tabla, se tendrán que crear otras tablas con éstas.
  • 41. © All rights reserved. www.keepcoding.io Comandos CREATE TABLE, DROP TABLE, RENAME TABLE SCRIPT: 2.Creacion de tablas ➢ CREATE TABLE ○ CREATE [TEMPORARY] TABLE [IF NOT EXISTS] nombre_tabla (nombre_columna tipo_dato [NOT NULL | NULL] [DEFAULT valor_por_defecto] [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY],...); ➢ DROP TABLE ○ DROP TABLE nombre_tabla; ➢ RENAME TABLE ○ RENAME TABLE nombre_tabla TO nombre_tabla_nuevo; 4
  • 42. © All rights reserved. www.keepcoding.io Comando ALTER TABLE SCRIPT: 2.Creacion de tablas ➢ ALTER TABLE ○ ALTER TABLE nombre_tabla CHANGE nombre_campo nombre_campo_nuevo tipo_dato_nuevo; ○ ALTER TABLE nombre_tabla MODIFY nombre_campo tipo_dato; ○ ALTER TABLE nombre_tabla ADD nombre_campo tipo_dato; ○ ALTER TABLE nombre_tabla ADD nombre_campo tipo_dato FIRST; ○ ALTER TABLE nombre_tabla ADD nombre_campo AFTER nombre_campo_anterior; ○ ALTER TABLE nombre_tabla ADD UNIQUE(nombre_campo ); 4
  • 43. © All rights reserved. www.keepcoding.io Ejercicio práctico (VI) 4 SCRIPT: 2b.Creacion de tablas
  • 44. © All rights reserved. www.keepcoding.io En la vida real 4
  • 45. © All rights reserved. www.keepcoding.io Comandos INSERT, COMMIT, ROLLBACK SCRIPT: 3. Relleno de tablas ➢ INSERT ○ INSERT INTO nombre_tabla VALUES (valor_campo1, valor_campo2,...); ○ INSERT INTO nombre_tabla (nombre_campo1, nombre_campo2,...) VALUES (valor_campo1, valor_campo2,...); ➢ COMMIT ○ COMMIT; ○ Comando que asegura una operación ➢ ROLLBACK ○ ROLLBACK; ○ Comando que deshace una operación 4
  • 46. © All rights reserved. www.keepcoding.io Comandos DELETE, TRUNCATE SCRIPT: 3. Relleno de tablas ➢ DELETE ○ DELETE FROM nombre_tabla WHERE condición; ➢ TRUNCATE ○ TRUNCATE TABLE nombre_tabla ; 4
  • 47. © All rights reserved. www.keepcoding.io Ejercicio práctico (VII) 4 SCRIPT: 3b.Relleno de tablas
  • 48. © All rights reserved. www.keepcoding.io Ejercicio práctico (VI) 4
  • 49. © All rights reserved. www.keepcoding.io Ejercicio práctico (VIII) 4 SCRIPT: 3c.Relleno de tablas SCRIPT: 3d.Relleno de tablas
  • 50. © All rights reserved. www.keepcoding.io Comando INSERT (II) y UPDATE SCRIPT: 3e. Relleno de tablas ➢ INSERT ○ INSERT INTO nombre_tabla sentencia; ○ INSERT INTO nombre_tabla (nombre_campo1, nombre_campo2,...) sentencia; ➢ UPDATE ○ UPDATE nombre_tabla SET nombre_campo = nuevo_valor WHERE condición; 5
  • 51. © All rights reserved. www.keepcoding.io Ejercicio práctico (IX) 5 SCRIPT: 3f. Relleno de tablas
  • 52. © All rights reserved. www.keepcoding.io Ejercicio práctico (IX) 5 SCRIPT: 3g.Relleno de tablas
  • 53. © All rights reserved. www.keepcoding.io Comandos PRIMARY KEY y FOREIGN KEY ➢ Primary key ○ ALTER TABLE nombre_tabla ADD PRIMARY KEY (nombre_campo1, nombre_campo2,...); ➢ Foreign key ○ ALTER TABLE nombre_tabla1 ADD FOREIGN KEY (nombre_fk) REFERENCES nombre_tabla2 (campos_pk_tabla2); 5 SCRIPT: 4. Creacion FK
  • 54. © All rights reserved. www.keepcoding.io Comando CREATE INDEX ➢ CREATE INDEX ○ CREATE INDEX nombre_índice ON nombre_tabla (nombre_columna); 5 SCRIPT: 4. Creacion FK
  • 55. © All rights reserved. www.keepcoding.io Ejercicio práctico (X) 5 SCRIPT: 4a.Creacion FK
  • 56. © All rights reserved. www.keepcoding.io Ejercicio práctico (XI) 5 SCRIPT: 4b. Creacion FK
  • 57. © All rights reserved. www.keepcoding.io Conseguido!!! Ya tenemos nuestra BBDD!!!! 5
  • 58. © All rights reserved. www.keepcoding.io MySQL - Comandos SQL 5
  • 59. © All rights reserved. www.keepcoding.io Resumen: Diagrama de nuestra BBDD 5
  • 60. © All rights reserved. www.keepcoding.io Comandos SELECT, DISTINCT, WHERE y ALIAS SCRIPT: 5. Comandos SQL ➢ SELECT ○ SELECT nombre_campo FROM nombre_tabla INTO OUTFILE ‘fichero.txt’ FIELDS TERMINATED BY ‘caracter’ OPTIONALLY ENCLOSED BY ‘caracter‘ LINES TERMINATED BY ‘caracter’; ➢ DISTINCT ○ SELECT DISTINCT nombre_campo FROM nombre_tabla; ➢ WHERE ○ SELECT nombre_campo FROM nombre_tabla WHERE condición; ➢ ALIAS ○ SELECT nombre_campo alias_campo FROM nombre_tabla WHERE condición; 6
  • 61. © All rights reserved. www.keepcoding.io Comandos AND/OR, IN, BETWEEN, LIKE y NOT ➢ AND/OR ○ SELECT nombre_campo FROM nombre_tabla WHERE condicion1 {[AND|OR] condición2}; ➢ IN ○ SELECT nombre_campo FROM nombre_tabla WHERE nombre_campo IN (valor1, valor2, ...); ➢ BETWEEN ○ SELECT nombre_campo FROM nombre_tabla WHERE nombre_campo BETWEEN valor1 AND valor2; ➢ LIKE ○ SELECT nombre_campo FROM nombre_tabla WHERE nombre_campo LIKE patrón; ➢ NOT ○ NOT condicion; 6 SCRIPT: 5. Comandos SQL
  • 62. © All rights reserved. www.keepcoding.io Funciones aritméticas ➢ AVG ○ SELECT AVG(nombre_campo) FROM nombre_tabla; ➢ COUNT ○ SELECT COUNT(nombre_campo) FROM nombre_tabla; ➢ MAX ○ SELECT MAX(nombre_campo) FROM nombre_tabla; ➢ MIN ○ SELECT MIN(nombre_campo) FROM nombre_tabla; ➢ SUM ○ SELECT SUM(nombre_campo) FROM nombre_tabla; 6 SCRIPT: 5. Comandos SQL
  • 63. © All rights reserved. www.keepcoding.io Comandos ORDER BY, GROUP BY, HAVING y LIMIT ➢ ORDER BY ○ SELECT nombre_campo FROM nombre_tabla WHERE condicion1 {[AND|OR] condición2} ORDER BY nombre_campo [ASC, DESC]; ➢ GROUP BY ○ SELECT nombre_campo FROM nombre_tabla GROUP BY nombre_campo; ➢ HAVING ○ SELECT nombre_campo FROM nombre_tabla GROUP BY nombre_campo HAVING condición_función_aritmética; ➢ LIMIT ○ SELECT nombre_campo FROM nombre_tabla LIMIT número; 6 SCRIPT: 5. Comandos SQL
  • 64. © All rights reserved. www.keepcoding.io JOINS (I) ➢ Se utilizan para recuperar datos de varias tablas. 6 SCRIPT: 5. Comandos SQL
  • 65. © All rights reserved. www.keepcoding.io JOINS (II) ➢ INNER JOIN ○ SELECT T1.nombre_campo1, T2.nombre_campo2 FROM nombre_tabla1 T1, nombre_tabla2 T2 WHERE T1.campo_cruce1=t2.campo_cruce2; ➢ LEFT OUTER JOIN ○ SELECT T1.nombre_campo1, T2.nombre_campo2 FROM nombre_tabla1 T1 LEFT [OUTER] JOIN nombre_tabla2 T2 ON T1.campo_cruce1=t2.campo_cruce2; ➢ RIGHT OUTER JOIN ○ SELECT T1.nombre_campo1, T2.nombre_campo2 FROM nombre_tabla1 T1 RIGHT [OUTER] JOIN nombre_tabla2 T2 ON T1.campo_cruce1=t2.campo_cruce2; 6 SCRIPT: 5. Comandos SQL
  • 66. © All rights reserved. www.keepcoding.io Comandos CONCAT, SUBSTRING y TRIM ➢ CONCAT ○ SELECT CONCAT(nombre_campo1, nombre_campo2) FROM nombre_tabla; ➢ SUBSTRING ○ SELECT SUBSTRING(nombre_campo,posicion[,longitud]) FROM nombre_tabla; ➢ TRIM ○ SELECT TRIM(nombre_campo) FROM nombre_tabla; ○ SELECT RTRIM(nombre_campo) FROM nombre_tabla; ○ SELECT LTRIM(nombre_campo) FROM nombre_tabla; 6 SCRIPT: 5. Comandos SQL
  • 67. © All rights reserved. www.keepcoding.io Comandos UNION y UNION ALL ➢ UNION ○ sentencia1 UNION sentencia2; ➢ UNION ALL ○ sentencia1 UNION ALL sentencia2; 6 SCRIPT: 5. Comandos SQL
  • 68. © All rights reserved. www.keepcoding.io Comandos EXISTS y CASE ➢ EXISTS ○ SELECT nombre_campo1 FROM nombre_tabla WHERE EXISTS condicion/sentencia; ➢ CASE ○ SELECT CASE nombre_campo WHEN condición1 THEN resultado1 WHEN condición2 THEN resultado2 ... [ELSE resultadoN] END FROM nombre_tabla; 6 SCRIPT: 5. Comandos SQL
  • 69. © All rights reserved. www.keepcoding.io Operadores de comparación 6 SCRIPT: 5. Comandos SQL
  • 70. © All rights reserved. www.keepcoding.io Comandos IS NULL e IS NOT NULL ➢ IS NULL ○ expresion IS NULL; ➢ IS NOT NULL ○ expresion IS NOT NULL; 7 SCRIPT: 5. Comandos SQL
  • 71. © All rights reserved. www.keepcoding.io Erratas 7 SCRIPT: 4d. Erratas
  • 72. © All rights reserved. www.keepcoding.io ¡A jugar! 7
  • 73. © All rights reserved. www.keepcoding.io Practicando lo aprendido (I) ➢ ¿Qué profesiones hay en la serie de los Simpsons? ➢ ¿Cuántas profesiones hay en la serie de los Simpsons? ➢ Lista los personajes junto a su sexo ➢ ¿Cuántos hombres y cuántas mujeres hay en Springfield? ➢ ¿Dónde vive cada personaje de los Simpsons? ➢ ¿Qué personajes viven y trabajan en su casa? 7 SCRIPT: 6. Practicando SQL
  • 74. © All rights reserved. www.keepcoding.io Practicando lo aprendido (II) ➢ ¿Cuántos personajes hay que no sean de la familia Simpson ni de la familia Flanders? ➢ ¿Y agrupados por familia, de mayor a menor número de miembros? ➢ ¿Cuántas familias hay de tres miembros? ➢ ¿Cuántas familias hay de más de tres miembros? ➢ ¿Cuántas familias hay que tengan entre tres y cinco miembros? ➢ ¿De qué personajes no sabemos dónde viven? 7 SCRIPT: 6. Practicando SQL
  • 75. © All rights reserved. www.keepcoding.io Practicando lo aprendido (III) ➢ ¿Qué personajes viven en Evergreen Terrace? ➢ ¿En qué direcciones exactamente? ➢ ¿Qué personajes viven en Evergreen Terrace y además trabajan en la central nuclear? ➢ ¿Qué personajes viven en Evergreen Terrace y además trabajan en la central nuclear o son mujeres? ➢ Quiero ordenarlos de manera ascendente el lugar de residencia y de manera descendiente el sexo 7 SCRIPT: 6. Practicando SQL
  • 76. © All rights reserved. www.keepcoding.io Practicando lo aprendido (IV) ➢ Lista sólo 10 lugares de residencia ➢ ¿Qué familias tienen mascotas? ➢ ¿Qué personajes tienen mascotas? ➢ ¿Qué personajes tienen frases famosas? ➢ ¿Cuántos personajes distintos y cuántas frases famosas tengo? 7 SCRIPT: 6. Practicando SQL
  • 77. © All rights reserved. www.keepcoding.io Funciones SQL 7
  • 78. © All rights reserved. www.keepcoding.io Funciones para STRINGS 7
  • 79. © All rights reserved. www.keepcoding.io CHAR_LENGTH, CHARACTER_LENGTH, LENGTH ➢ CHAR_LENGTH ○ CHAR_LENGTH(cadena) ➢ CHARACTER_LENGTH ○ CHARACTER_LENGTH(cadena) ➢ LENGTH ○ LENGTH(cadena) 7 SCRIPT: 7. Funciones SQL
  • 80. © All rights reserved. www.keepcoding.io LCASE, LOWER, UCASE, UPPER ➢ LCASE ○ CHAR_LENGTH(cadena) ➢ LOWER ○ LOWER(cadena) ➢ UCASE ○ UCASE(cadena) ➢ UPPER ○ UPPER(cadena) 8 SCRIPT: 7. Funciones SQL
  • 81. © All rights reserved. www.keepcoding.io LTRIM, RTRIM, TRIM ➢ LTRIM ○ LTRIM(cadena) ➢ RTRIM ○ RTRIM(cadena) ➢ TRIM ○ TRIM(cadena) 8 SCRIPT: 7. Funciones SQL
  • 82. © All rights reserved. www.keepcoding.io CONCAT, CONCAT_WS ➢ CONCAT ○ CONCAT(cadena1,cadena2,...,cadenaN) ➢ CONCAT_WS ○ CONCAT_WS(separador,cadena1,cadena2,...,cadenaN) 8 SCRIPT: 7. Funciones SQL
  • 83. © All rights reserved. www.keepcoding.io FIELD, FIND_IN_SET, INSTR, LOCATE, POSITION ➢ FIELD ○ FIELD(cadena_buscada,cadena1,cadena2,...,cadenaN) ➢ FIND_IN_SET ○ FIND_IN_SET(cadena_buscada, lista_cadenas) ➢ INSTR ○ INSTR(cadena,cadena_buscada) ➢ LOCATE ○ LOCATE(cadena_buscada,cadena, [posicion_inicio])) ➢ POSITION ○ POSITION(cadena_buscada IN cadena) 8 SCRIPT: 7. Funciones SQL
  • 84. © All rights reserved. www.keepcoding.io RPAD, LPAD, FORMAT ➢ RPAD ○ RPAD(cadena) ➢ LPAD ○ LPAD(cadena) ➢ FORMAT ○ FORMAT(numero, numero_de_decimales) 8 SCRIPT: 7. Funciones SQL
  • 85. © All rights reserved. www.keepcoding.io SUBSTR, MID, SUBSTRING, SUBSTRING_INDEX, LEFT, RIGHT ➢ SUBSTR ○ SUBSTR(cadena,posicion_inicial, [longitud]) ○ SUBSTR(cadena FROM posicion_inicial [ FOR longitud]) ➢ MID ○ MID(cadena, posicion_inicial,longitud) ➢ SUBSTRING ○ SUBSTRING(cadena,posicion_inicial, [longitud]) ○ SUBSTRING(cadena FROM posicion_inicial [ FOR longitud]) ➢ SUBSTRING_INDEX ○ SUBSTRING_INDEX(cadena,delimitador, numero_apariciones) ➢ LEFT ○ LEFT(cadena, numero_caracteres) ➢ RIGHT ○ RIGHT(cadena, numero_caracteres) 8 SCRIPT: 7. Funciones SQL
  • 86. © All rights reserved. www.keepcoding.io INSERT, REPEAT, SPACE ➢ INSERT ○ INSERT(cadena,posicion,numero_caracteres_a_sustituir, cadena_sustituta) ➢ REPEAT ○ REPEAT(cadena, numero_repeticiones) ➢ SPACE ○ SPACE(numero) 8 SCRIPT: 7. Funciones SQL
  • 87. © All rights reserved. www.keepcoding.io REPLACE, REVERSE ➢ REPLACE ○ REPLACE(cadena,caracter_a_sustituir,caracter_sustituto) ➢ REVERSE ○ REVERSE(cadena) 8 SCRIPT: 7. Funciones SQL
  • 88. © All rights reserved. www.keepcoding.io STRCMP, ASCII ➢ STRCMP ○ STRCMP(cadena1,cadena2) ➢ ASCII ○ ASCII(cadena) 8 SCRIPT: 7. Funciones SQL
  • 89. © All rights reserved. www.keepcoding.io Funciones numéricas 8
  • 90. © All rights reserved. www.keepcoding.io SQRT, POW, POWER ➢ SQRT ○ SQRT(numero) ➢ POW ○ POW(numero_base, numero_exponente) ➢ POWER ○ POWER(numero_base, numero_exponente) 9 SCRIPT: 7b. Funciones SQL
  • 91. © All rights reserved. www.keepcoding.io ABS, SIGN ➢ ABS ○ ABS(numero) ➢ SIGN ○ SIGN(numero) 9 SCRIPT: 7b. Funciones SQL
  • 92. © All rights reserved. www.keepcoding.io SUM, MAX, MIN, AVG ➢ SUM ○ SUM(expresion_agregacion) ➢ MAX ○ MAX(expresion_agregacion) ➢ MIN ○ MIN(expresion_agregacion) ➢ AVG ○ AVG(expresion_agregacion) 9 SCRIPT: 7b. Funciones SQL
  • 93. © All rights reserved. www.keepcoding.io DIV, MOD ➢ DIV ○ numero_dividendo DIV numero_divisor ➢ MOD ○ numero_dividendo MOD numero_divisor 9 SCRIPT: 7b. Funciones SQL
  • 94. © All rights reserved. www.keepcoding.io ROUND, TRUNCATE, CEIL, CEILING, FLOOR ➢ ROUND ○ ROUND(numero, [posiciones_decimales]) ➢ TRUNCATE ○ TRUNCATE(numero, [posiciones_decimales]) ➢ CEIL ○ CEIL(numero) ➢ CEILING ○ CEILING(numero) ➢ FLOOR ○ POSITION(numero) 9 SCRIPT: 7b. Funciones SQL
  • 95. © All rights reserved. www.keepcoding.io RAND ➢ RAND ○ RAND([semilla]) 9 SCRIPT: 7b. Funciones SQL
  • 96. © All rights reserved. www.keepcoding.io GREATEST, LEAST ➢ GREATEST ○ GREATEST(expresion1, expersion2,...,expresionN) ➢ LEAST ○ LEAST(expresion1, expersion2,...,expresionN) 9 SCRIPT: 7b. Funciones SQL
  • 97. © All rights reserved. www.keepcoding.io EXP, LN, LOG10, LOG2, LOG ➢ EXP ○ EXP(numero) ➢ LN ○ LN(numero) ➢ LOG10 ○ LOG10(numero) ➢ LOG2 ○ LOG2(numero) ➢ LOG ○ LOG(numero_base, numero) 9 SCRIPT: 7b. Funciones SQL
  • 98. © All rights reserved. www.keepcoding.io RADIANS, DEGREES, PI ➢ RADIANS ○ RADIANS(numero_en_grados) ➢ DEGREES ○ DEGREES(numero_en_radianes) ➢ PI ○ PI( ) 9 SCRIPT: 7b. Funciones SQL
  • 99. © All rights reserved. www.keepcoding.io SIN, COS, TAN, COT ➢ SIN ○ SIN(numero) ➢ COS ○ COS(numero) ➢ TAN ○ TAN(numero) ➢ COT ○ COT(numero) 9 SCRIPT: 7b. Funciones SQL
  • 100. © All rights reserved. www.keepcoding.io ASIN, ACOS, ATAN ➢ ASIN ○ ASIN(numero) ➢ ACOS ○ ACOS(numero) ➢ ATAN ○ ATAN(numero) ○ ATAN(numero1, numero2) 1 SCRIPT: 7b. Funciones SQL
  • 101. © All rights reserved. www.keepcoding.io Funciones para FECHAS/TIEMPO 1
  • 102. © All rights reserved. www.keepcoding.io CURDATE, CURRENT_DATE, CURTIME, CURRENT_TIME ➢ CURDATE ○ CURDATE( ) ➢ CURRENT_DATE ○ CURRENT_DATE( ) ➢ CURTIME ○ CURTIME( ) ➢ CURRENT_TIME ○ CURRENT_TIME( ) 1 SCRIPT: 7c. Funciones SQL
  • 103. © All rights reserved. www.keepcoding.io CURRENT_TIMESTAMP, LOCALTIME, LOCALTIMESTAMP, NOW, SYSDATE ➢ CURRENT_TIMESTAMP ○ CURRENT_TIMESTAMP( ) ➢ LOCALTIME ○ LOCALTIME( ) ➢ LOCALTIMESTAMP ○ LOCALTIMESTAMP( ) ➢ NOW ○ NOW( ) ➢ SYSDATE ○ SYSDATE( ) 1 SCRIPT: 7c. Funciones SQL
  • 104. © All rights reserved. www.keepcoding.io DATE ➢ DATE ○ DATE(expresion) 1 SCRIPT: 7c. Funciones SQL
  • 105. © All rights reserved. www.keepcoding.io DATE_FORMAT ➢ DATE_FORMAT ○ DATE_FORMAT(fecha,formato) 1 SCRIPT: 7c. Funciones SQL
  • 106. © All rights reserved. www.keepcoding.io TIME_FORMAT ➢ TIME_FORMAT ○ TIME_FORMAT(hora,formato) 1 SCRIPT: 7c. Funciones SQL
  • 107. © All rights reserved. www.keepcoding.io TIME, MICROSECOND, SECOND, MINUTE, HOUR ➢ TIME ○ TIME( expresion) ➢ MICROSECOND ○ MICROSECOND(fecha) ➢ SECOND ○ SECOND(fecha) ➢ MINUTE ○ MINUTE(fecha) ➢ HOUR ○ HOUR(fecha) 1 SCRIPT: 7c. Funciones SQL
  • 108. © All rights reserved. www.keepcoding.io DAY, DAYNAME, LAST_DAY ➢ DAY ○ DAY(fecha) ➢ DAYNAME ○ DAYNAME(fecha) ➢ LAST_DAY ○ LAST_DAY(fecha) 1 SCRIPT: 7c. Funciones SQL
  • 109. © All rights reserved. www.keepcoding.io DAYOFWEEK, DAYOFMONTH, DAYOFYEAR ➢ DAYOFWEEK ○ DAYOFWEEK(fecha) ➢ DAYOFMONTH ○ DAYOFMONTH(fecha) ➢ DAYOFYEAR ○ DAYOFYEAR(fecha) 1 SCRIPT: 7c. Funciones SQL
  • 110. © All rights reserved. www.keepcoding.io WEEK, WEEKDAY, WEEKOFYEAR ➢ WEEK ○ WEEK(fecha, [modo]) ➢ WEEKDAY ○ WEEKDAY(fecha) ➢ WEEKOFYEAR ○ WEEKOFYEAR(fecha) 1 SCRIPT: 7c. Funciones SQL
  • 111. © All rights reserved. www.keepcoding.io MONTH, MONTHNAME, QUARTER ➢ MONTH ○ MONTH(fecha) ➢ MONTHNAME ○ MONTHNAME(fecha) ➢ QUARTER ○ QUARTER(fecha) 1 SCRIPT: 7c. Funciones SQL
  • 112. © All rights reserved. www.keepcoding.io YEAR, YEARWEEK ➢ YEAR ○ YEAR(fecha) ➢ YEARWEEK ○ YEARWEEK(fecha, [modo]) 1 SCRIPT: 7c. Funciones SQL
  • 113. © All rights reserved. www.keepcoding.io EXTRACT ➢ EXTRACT ○ EXTRACT(unidad FROM fecha) 1 SCRIPT: 7c. Funciones SQL
  • 114. © All rights reserved. www.keepcoding.io ADDDATE, DATE_ADD ➢ ADDDATE ○ ADDDATE(fecha, INTERVAL valor unidad) ○ ADDDATE(fecha, dias) ➢ DATE_ADD ○ DATE_ADD(fecha, INTERVAL valor unidad) 1 SCRIPT: 7c. Funciones SQL
  • 115. © All rights reserved. www.keepcoding.io SUBDATE, DATE_SUB ➢ SUBDATE ○ SUBDATE(fecha, INTERVAL valor unidad) ○ SUBDATE(fecha, dias) ➢ DATE_SUB ○ DATE_SUB(fecha, INTERVAL valor unidad) 1 SCRIPT: 7c. Funciones SQL
  • 116. © All rights reserved. www.keepcoding.io ADDTIME, SUBTIME, PERIOD_ADD ➢ ADDTIME ○ ADDTIME(fecha, tiempo) ➢ SUBTIME ○ SUBTIME(fecha, tiempo) ➢ PERIOD_ADD ○ PERIOD_ADD(periodo, numero) 1 SCRIPT: 7c. Funciones SQL
  • 117. © All rights reserved. www.keepcoding.io MAKEDATE, MAKETIME ➢ MAKEDATE ○ MAKEDATE(año, dia_del_año) ➢ MAKETIME ○ MAKETIME(hora,minuto,segundo) 1 SCRIPT: 7c. Funciones SQL
  • 118. © All rights reserved. www.keepcoding.io DATEDIFF, TIMEDIFF, PERIOD_DIFF ➢ DATEDIFF ○ DATEDIFF(fecha1, fecha2) ➢ TIMEDIFF ○ TIMEDIFF(tiempo1, tiempo2) ➢ PERIOD_DIFF ○ PERIOD_DIFF(periodo1, periodo2) 1 SCRIPT: 7c. Funciones SQL
  • 119. © All rights reserved. www.keepcoding.io TO_DAYS, FROM_DAYS ➢ TO_DAYS ○ TO_DAYS(fecha) ➢ FROM_DAYS ○ FROM_DAYS(fecha_en_numero) 1 SCRIPT: 7c. Funciones SQL
  • 120. © All rights reserved. www.keepcoding.io STR_TO_DATE ➢ STR_TO_DATE ○ STR_TO_DATE(cadena,formato) 1 SCRIPT: 7c. Funciones SQL
  • 121. © All rights reserved. www.keepcoding.io SEC_TO_TIME, TIME_TO_SEC ➢ SEC_TO_TIME ○ SEC_TO_TIME(segundos) ➢ TIME_TO_SEC ○ TIME_TO_SEC(tiempo) 1 SCRIPT: 7c. Funciones SQL
  • 122. © All rights reserved. www.keepcoding.io Otras funciones 1
  • 123. © All rights reserved. www.keepcoding.io BIN, BINARY ➢ BIN ○ BIN(numero) ➢ BINARY ○ BINARY valor 1 SCRIPT: 7d. Funciones SQL
  • 124. © All rights reserved. www.keepcoding.io CASE ➢ CASE ○ CASE [expresion] WHEN condicion1 THEN resultado1 WHEN condicion2 THEN resultado2 … WHEN condicionN THEN resultadoN ELSE resultado END 1 SCRIPT: 7d. Funciones SQL
  • 125. © All rights reserved. www.keepcoding.io CAST, CONVERT ➢ CAST ○ CAST(valor AS tipo) ➢ CONVERT ○ CONVERT(valor, tipo) 1 SCRIPT: 7d. Funciones SQL
  • 126. © All rights reserved. www.keepcoding.io COALESCE, CONV ➢ COALESCE ○ COALESCE(expresion1, expresion2,..., expresionN) ➢ CONV ○ CONV(numero, base_inicial,base_final) 1 SCRIPT: 7d. Funciones SQL
  • 127. © All rights reserved. www.keepcoding.io IF, IFNULL, ISNULL, NULLIF ➢ IF ○ IF(condicion, valor_si_cierto, valor_si_falso ) ➢ IFNULL ○ IFNULL(expresion, valor_si_nulo) ➢ ISNULL ○ ISNULL(expresion) ➢ NULLIF ○ NULLIF(expresion1, expresion2) 1 SCRIPT: 7d. Funciones SQL
  • 128. © All rights reserved. www.keepcoding.io ENCRYPT, MD5 ➢ ENCRYPT ○ ENCRYPT(cadena [,salto]) ➢ MD5 ○ MD5(cadena) 1 SCRIPT: 7d. Funciones SQL
  • 129. © All rights reserved. www.keepcoding.io Procedimientos y funciones 1
  • 130. © All rights reserved. www.keepcoding.io Procedimientos vs funciones 1
  • 131. © All rights reserved. www.keepcoding.io PROCEDURE ➢ PROCEDURE ○ CREATE PROCEDURE nombre_procedimiento [ (parametro1 tipo_dato [, parametro2 tipo dato,...]) ] BEGIN seccion_declaraciones seccion ejecutable END; 1
  • 132. © All rights reserved. www.keepcoding.io FUNCTION ➢ FUNCTION ○ CREATE FUNCTION nombre_funcion [ (parametro1 tipo_dato [, parametro2 tipo dato,...]) ] RETURN tipo_dato_valor_salida BEGIN seccion_declaraciones seccion ejecutable END; 1
  • 133. © All rights reserved. www.keepcoding.io FUNCTION ➢ FUNCTION ○ CREATE FUNCTION nombre_funcion [ (parametro1 tipo_dato [, parametro2 tipo dato,...]) ] RETURNS tipo_dato_valor_salida BEGIN seccion_declaraciones seccion ejecutable END; 1
  • 134. © All rights reserved. www.keepcoding.io Bucles y condicionales 1
  • 135. © All rights reserved. www.keepcoding.io IF ➢ IF ○ IF condicion1THEN {declaraciones a ejecutar cuando condicion1 es VERDADERA} [ ELSEIF condicion2 THEN {declaraciones a ejecutar cuando condicion2 es VERDADERA} ] [ ELSE {declaraciones a ejecutar cuando condicion1 y condicion2 son FALSAS} ] END IF; 1 SCRIPT: 8. Condicionales y bucles
  • 136. © All rights reserved. www.keepcoding.io WHILE ➢ WHILE ○ [nombre_etiqueta: ] WHILE condicion DO {declaraciones} END WHILE [ nombre_etiqueta ]; 1 SCRIPT: 8. Condicionales y bucles
  • 137. © All rights reserved. www.keepcoding.io LOOP, ITERATE, LEAVE ➢ WHILE ○ [nombre_etiqueta: ] LOOP {declaraciones} END LOOP [ nombre_etiqueta ]; ➢ ITERATE ○ ITERATE nombre_etiqueta ; ➢ LEAVE ○ LEAVE nombre_etiqueta ; 1 SCRIPT: 8. Condicionales y bucles
  • 138. © All rights reserved. www.keepcoding.io REPEAT ➢ REPEAT ○ [nombre_etiqueta: ] REPEAT {declaraciones} UNTIL condicion END REPEAT[ nombre_etiqueta ]; 1 SCRIPT: 8. Condicionales y bucles
  • 139. © All rights reserved. www.keepcoding.io Triggers 1
  • 140. © All rights reserved. www.keepcoding.io BEFORE INSERT TRIGGER ➢ BEFORE INSERT TRIGGER ○ CREATE TRIGGER nombre_trigger BEFORE INSERT ON nombre_tabla FOR EACH ROW BEGIN seccion_declaraciones codigo_trigger END; 1 SCRIPT: 9. Triggers
  • 141. © All rights reserved. www.keepcoding.io AFTER INSERT TRIGGER ➢ AFTER INSERT TRIGGER ○ CREATE TRIGGER nombre_trigger BEFORE INSERT ON nombre_tabla FOR EACH ROW BEGIN seccion_declaraciones codigo_trigger END; 1
  • 142. © All rights reserved. www.keepcoding.io BEFORE UPDATE TRIGGER ➢ BEFORE UPDATE TRIGGER ○ CREATE TRIGGER nombre_trigger BEFORE UPDATE ON nombre_tabla FOR EACH ROW BEGIN seccion_declaraciones codigo_trigger END; 1
  • 143. © All rights reserved. www.keepcoding.io AFTER UPDATE TRIGGER ➢ AFTER UPDATE TRIGGER ○ CREATE TRIGGER nombre_trigger AFTER UPDATE ON nombre_tabla FOR EACH ROW BEGIN seccion_declaraciones codigo_trigger END; 1
  • 144. © All rights reserved. www.keepcoding.io BEFORE DELETE TRIGGER ➢ BEFORE DELETE TRIGGER ○ CREATE TRIGGER nombre_trigger BEFORE DELETE ON nombre_tabla FOR EACH ROW BEGIN seccion_declaraciones codigo_trigger END; 1
  • 145. © All rights reserved. www.keepcoding.io AFTER DELETE TRIGGER ➢ AFTER DELETE TRIGGER ○ CREATE TRIGGER nombre_trigger AFTER DELETE ON nombre_tabla FOR EACH ROW BEGIN seccion_declaraciones codigo_trigger END; 1
  • 146. © All rights reserved. www.keepcoding.io Cursores 1
  • 147. © All rights reserved. www.keepcoding.io DECLARE Cursor, Cursor NOT FOUND ➢ DECLARE Cursor ○ DECLARE nombre_cursor CURSOR FOR declaracion_select; ➢ Cursor NOT FOUND ○ DECLARE CONTINUE HANDLER FOR NOT FOUND [ condiciones ] ; 1 SCRIPT: 10. cursores
  • 148. © All rights reserved. www.keepcoding.io OPEN Cursor, CLOSE Cursor, FETCH Cursor ➢ OPEN Cursor ○ OPEN nombre_cursor; ➢ CLOSE Cursor ○ CLOSE nombre_cursor ; ➢ FETCH Cursor ○ FETCH [ NEXT [ FROM ] ] nombre_cursor INTO lista_variables ; 1 SCRIPT: 10. cursores
  • 149. © All rights reserved. www.keepcoding.io ¿Programas para realizar el diagrama de BBDD? 1
  • 150. © All rights reserved. www.keepcoding.io ¿Programas para realizar el diagrama de BBDD? ➢ ERWIN ○ https://erwin.com/products/data-modeler/ ➢ CACOO ○ https://cacoo.com/ ➢ MySQL WORKBENCH ○ https://dev.mysql.com/doc/workbench/en/ ➢ POWERPOINT ○ Con paciencia 1
  • 151. © All rights reserved. www.keepcoding.io Y esto se acaba... 1
  • 152. © All rights reserved. www.keepcoding.io Anexo 1
  • 153. © All rights reserved. www.keepcoding.io Anexo (I) Familias Simpsons y Bouvier 1
  • 154. © All rights reserved. www.keepcoding.io Anexo (II) Familia Flanders 1
  • 155. © All rights reserved. www.keepcoding.io Anexo (III) Familia Wiggum 1
  • 156. © All rights reserved. www.keepcoding.io Anexo (IV) Familia Spuckler 1
  • 157. © All rights reserved. www.keepcoding.io Anexo (V) Familia Nahasapeemapetilon 1
  • 158. © All rights reserved. www.keepcoding.io Anexo (VI) Familia Van Houten 1
  • 159. © All rights reserved. www.keepcoding.io Anexo (VII) Familia Burns 1
  • 160. © All rights reserved. www.keepcoding.io Anexo (VIII) Familia Muntz 1
  • 161. © All rights reserved. www.keepcoding.io Anexo (IX) Familia Skinner 1
  • 162. © All rights reserved. www.keepcoding.io Anexo (X) Familia Lovejoy 1
  • 163. © All rights reserved. www.keepcoding.io Anexo (X) Familia Hibbert 1
  • 164. © All rights reserved. www.keepcoding.io Anexo (XI) Familia Prince 1
  • 165. © All rights reserved. www.keepcoding.io Anexo (XII) Otros personajes 1
  • 166. © All rights reserved. www.keepcoding.io Anexo (XIII) Otros personajes 1
  • 167. © All rights reserved. www.keepcoding.io Anexo (XIV) Otros personajes 1
  • 168. © All rights reserved. www.keepcoding.io Anexo (XV) Otros personajes 1
  • 169. © All rights reserved. www.keepcoding.io Anexo (XVI) Otros personajes 1
  • 170. © All rights reserved. www.keepcoding.io Anexo (XVII) Ciudades ➢ Springfield ➢ Shelbyville ➢ Capital City ➢ Cypress Creek ➢ Bronson, Missouri ➢ Humbleton, Pennsylvania ➢ Brockway ➢ Ogdenville ➢ Barnacle Bay ➢ North Havenbrook ➢ Terror Lake ➢ Detroit 1
  • 171. © All rights reserved. www.keepcoding.io Anexo (XVIII) Lugares 1
  • 172. © All rights reserved. www.keepcoding.io Anexo (XIX) 1 Lugares
  • 173. © All rights reserved. www.keepcoding.io Anexo (XX) 1 Lugares
  • 174. © All rights reserved. www.keepcoding.io Anexo (XXI) 1 Lugares
  • 175. © All rights reserved. www.keepcoding.io Anexo (XXII) 1 Lugares
  • 176. © All rights reserved. www.keepcoding.io Anexo (XXIII) 1 Lugares
  • 177. © All rights reserved. www.keepcoding.io Anexo (XXIV) 1 Lugares
  • 178. © All rights reserved. www.keepcoding.io Anexo (XXV) 1 Lugares
  • 179. © All rights reserved. www.keepcoding.io Anexo (XXVI) 1 Lugares
  • 180. © All rights reserved. www.keepcoding.io Anexo (XXVII) 1 Lugares
  • 181. © All rights reserved. www.keepcoding.io Anexo (XXVIII) 1 Lugares
  • 182. © All rights reserved. www.keepcoding.io Anexo (XXIX) 1 Lugares
  • 183. © All rights reserved. www.keepcoding.io Anexo (XXX) 1 Lugares
  • 184. © All rights reserved. www.keepcoding.io Anexo (XXXI) 1 Frases famosas
  • 185. © All rights reserved. www.keepcoding.io Anexo (XXXII) 1 Frases famosas
  • 186. © All rights reserved. www.keepcoding.io Anexo (XXXIII) 1 Frases famosas
  • 187. © All rights reserved. www.keepcoding.io Anexo (XXXIV) 1 Frases famosas
  • 188. © All rights reserved. www.keepcoding.io Anexo (XXXV) 1 Frases famosas
  • 189. © All rights reserved. www.keepcoding.io Anexo (XXXVI) 1 Frases famosas