SQL y MySQL: Aprende todo lo básico sobre base de datos.
4.0 (122 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
771 students enrolled
Wishlisted Wishlist

Please confirm that you want to add SQL y MySQL: Aprende todo lo básico sobre base de datos. to your Wishlist.

Add to Wishlist

SQL y MySQL: Aprende todo lo básico sobre base de datos.

Curso de más de 3 horas y media enfocado a las personas que desean de una forma simple entender SQL y utilizar MySQL.
4.0 (122 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
771 students enrolled
Last updated 11/2015
Spanish
Spanish
Current price: $10 Original price: $40 Discount: 75% off
30-Day Money-Back Guarantee
Includes:
  • 3.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Utilizar y administrar base de datos.
  • Gestionar el gestor de base de datos MySQL.
  • Estar preparado para obtener la certificación de MySQL.
View Curriculum
Requirements
  • No hay requisitos previos para este curso.
Description

Más de tres horas y media de curso con explicaciones prácticas.

Curso para todos los niveles: desde personas que no han utilizado una base de datos anteriormente hasta personas con conocimiento que quieran repasar lo aprendido anteriormente.

Sólo es necesario tener acceso a un sistema con el servidor MySQL instalado (se puede instalar localmente). Alternativamente nos puedes enviar un mensaje y de forma gratuita le daremos acceso a servidor MySQL para practicar (con acceso web para que no tenga que instalar nada en su PC).

En este curso de SQL/MySQL explicaremos todo lo necesario para entender como funciona un gestor de base de datos, la arquitectura que hay detrás de un modelo de cliente-servidor y los objetos de la base de datos.

Posteriormente explicaremos el lenguaje SQL tanto para consultar, manipular datos y objetos.

Para finalizar hablaremos de MySQL y las herramientas que ofrece para optimizar las consultas, crear bases de datos y gestionar usuarios.

Who is the target audience?
  • Curso dirigido a personas que quieran aprender sobre base de datos y SQL.
Curriculum For This Course
70 Lectures
03:40:33
+
Unidad 1
16 Lectures 37:36

En esta clase explicamos como funciona una Arquitectura Servidor<>Cliente

Preview 02:03

Un Sistema de Gestión de Bases de Datos (SGBD) es un conjunto de programas que permiten el almacenamiento, modificación y extracción de la información en una base de datos, además de proporcionar herramientas para añadir, borrar, modificar y analizar los datos. Los usuarios pueden acceder a la información usando herramientas específicas de interrogación y de generación de informes, o bien mediante aplicaciones al efecto. Los SGBD también proporcionan métodos para mantener la integridad de los datos, para administrar el acceso de usuarios a los datos y recuperar la información si el sistema se corrompe. Permite presentar la información de la base de datos en variados formatos. La mayoría de los SGBD incluyen un generador de informes. También puede incluir un módulo gráfico que permita presentar la información con gráficos y tartas. Hay muchos tipos de SGBD distintos según manejen los datos y muchos tamaños distintos según funcionen sobre ordenadores personales y con poca memoria a grandes sistemas que funcionan en mainframes con sistemas de almacenamiento especiales. Generalmente se accede a los datos mediante lenguajes de interrogación, lenguajes de alto nivel que simpifican la tarea de construir las aplicaciones. También simplifican la interrogación y la presentación de la información. Un SGBD permite controlar el acceso a los datos, asegurar su integridad, gestionar el acceso concurrente a ellos, recuperar los datos tras un fallo del sistema y hacer copias de seguridad. Las Bases de Datos y los sistemas para su gestión son esenciales para cualquier área de negocio, y deben ser gestionados con esmero.

Preview 01:45

MySQL, el sistema de gestión de bases de datos SQL Open Source más popular, lo desarrolla, distribuye y soporta MySQL AB. MySQL AB es una compañía comercial, fundada por los desarrolladores de MySQL. Es una compañía Open Source de segunda generación que une los valores y metodología Open Source con un exitoso modelo de negocio. El sitio web MySQL (http://www.mysql.com/) proporciona la última información sobre MySQL y MySQL AB.

Preview 01:50

Una base de datos o banco de datos es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital (electrónico), y por ende se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos. Existen programas denominados sistemas gestores de bases de datos, abreviado SGBD, que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Las propiedades de estos SGBD, así como su utilización y administración, se estudian dentro del ámbito de la informática. Las aplicaciones más usuales son para la gestión de empresas e instituciones públicas. También son ampliamente utilizadas en entornos científicos con el objeto de almacenar la información experimental. Aunque las bases de datos pueden contener muchos tipos de datos, algunos de ellos se encuentran protegidos por las leyes de varios países.

Preview 03:58

Debe determinarse si la plataforma donde se desea hacer la instalación está soportada. Nótese que no todos los sistemas soportados son igualmente adecuados para ejecutar MySQL. En algunas plataformas el funcionamiento será mucho más robusto y eficiente que en otras. Debe elegirse la distribución que se instalará. Hay varias versiones de MySQL disponibles, y la mayoría lo están en varios formatos de distribución. Se puede elegir entre distribuciones prearmadas que contienen programas binarios (precompilados) o bien código fuente. En caso de duda, debe elegirse una distribución binaria. También se provee acceso público al código fuente para quienes deseen ver los desarrollos más recientes y colaborar en el testeo de código nuevo. Para establecer qué versión y tipo de distribución debería usarse.

Preview 01:33

  • Campo
  • Cursor
  • Fila
  • Índice
  • Procedimiento almacenado
  • Registro
  • Tabla
  • Trigger
Objetos en base de datos
02:25

En MySQL hay básicamente tres categorías distintas de tipos de datos: los datos numéricos, los datos de fechas y los de cadena.

Tipo de datos
03:18

La consulta de datos no siempre será realizada utilizando sólo una tabla como origen, sino que utilizaremos varias tablas con una relación común.

Relación entre tablas
04:10

Las claves primaras ayudan a identificar un registro.

Claves primarias (Primary Keys)
01:34

Las claves foráneas son utlizadas para la relación de una tabla con otra(s).

Claves foráneas
02:11

Las restricciones son necesarias para evitar por ejemplo duplicados o datos inexactos.

Restricciones
02:14

El uso de las vistas es altamente recomendado para evitar errores comunes en las consultas y acelerar las mismas.

Vistas
01:42

El valor null consta de una gran importancia en las bases de datos. En esta clase discutimos sus usos.

Valor Null
01:39

En muchas situaciones deseamos no introducir todos los valores para todas las columnas, en vez de eso podemos utilizar valores por defecto para ahorrar tiempo.

Valores por defecto
01:41

Para consultar o manipular los datos de las bases de datos o sus objetos, utilizaremos el lenguaje SQL.

Lenguaje de consulta estructurado (SQL)
02:03

En esta clase haremos una pequeña introducción al lenguaje SQL y su sintaxis.

Introducción a SQL
03:30

Examen sección primera
7 questions
+
Unidad 2
14 Lectures 41:20

SELECT se usa para recibir registros seleccionados desde una o más tablas.

Sentencia SELECT
03:42

Las opciones ALL, DISTINCT, and DISTINCTROW especifican si deben retornarse los registros duplicados. Si no se da ninguna de estas opciones, por defecto es ALL (se retornan todos los registros coincidentes). DISTINCT y DISTINCTROW son sinónimos y especifican que los registros duplicados en el conjunto de resultados deben borrarse.

Duplicados
02:01

Las funciones facilitan nuestras operaciones.

Funciones
02:10

Las funciones de agregación (resumen) como COUNT(), MIN(), y SUM() ignoran los valores NULL. La excepción a esto es COUNT(*), que cuenta filas y no valores de columna individuales.

Funciones de agregación
03:04

Todas las funciones matemáticas retornan NULL en caso de error.

Funciones numéricas
04:55

Para funciones que operan en posiciones de cadenas de caracteres, la primera posición es la 1.

Funciones sobre cadenas
03:44

Las funciones que esperan valores de fecha usualmente aceptan valores de fecha y hora e ignoran la parte de hora. Las funciones que esperan valores de hora usualmente aceptan valores de fecha y hora e ignoran la parte de fecha

Funciones sobre fechas
04:34

Otras funciones de gran utilidad.

Otras funciones
04:17

El operador WHERE es utilizado para filtrar los resultados de una consulta.

Operador WHERE
02:36

El operador IN es utilizado para realizar subconsultas.

Operador IN
02:26

El operador BETWEEN es utilizado para buscar un registro entre un rango, ya se fea un rango de fechas o números.

Operador BETWEEN
01:58

El operador LIKE es utilizado para búsquedas por patrones.

Operador LIKE
02:49

La condición IS NULL es utilizada para buscar por campos con el valor NULL.

Condición IS NULL
01:31

El operador NOT es utilizado para hacer búsquedas inversas.

Operador NOT
01:33

Examen sección segunda
6 questions
+
Unidad 3
10 Lectures 29:56

Para ordenar un resultado, se usa la cláusula ORDER BY.

ORDER BY
01:57

Para limitar el número de resultados obtenidos, se usa la cláusula LIMIT.

LIMIT
02:07

Si usa una función de grupo en un comando sin la cláusula GROUP BY , es equivalente a agrupar todos los registros.

GROUP BY
03:52

Una cláusula HAVING debe ir tras cualquier cláusula GROUP BY y antes de cualquier cláusula ORDER BY.

HAVING
02:03

SELECT ... UNION [ALL | DISTINCT] SELECT ... [UNION [ALL | DISTINCT] SELECT ...]

UNION se usa para combinar el resultado de un número de comandos SELECT en un conjunto de resultados.

UNION
02:27

Cuando se combina (también se denomina join -unión, en inglés-) información desde múltiples tablas, se necesita indicar qué registro de una tabla se combinará con qué registro de la otra.

Consultar varias tablas
05:16

INNER JOIN y , (coma) son semánticamente equivalentes en la ausencia de una condición de JOIN: ambos producen un producto Cartesiano entre las tablas especificadas (esto es, cada registro en la primera tabla se junta con cada registro en la segunda tabla).

INNER JOIN
02:33

Algunos ejemplos de join:

mysql> SELECT * FROM table1,table2 WHERE table1.id=table2.id;

mysql> SELECT * FROM table1 LEFT JOIN table2 ON table1.id=table2.id;

mysql> SELECT * FROM table1 LEFT JOIN table2 USING (id);

mysql> SELECT * FROM table1 LEFT JOIN table2 ON table1.id=table2.id

-> LEFT JOIN table3 ON table2.id=table3.id;

LEFT JOIN y RIGHT JOIN
03:46

Desafortunadamente MySQL nos soporta FULL JOIN.

FULL JOIN
02:53

Los "alias" ayudan a reducir el tamaño de las consultas y facilitar las mismas.

ALIAS (AS)
03:02

Examen sección tercera
5 questions
+
Unidad 4
16 Lectures 59:35

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_specification] ...

create_specification: [DEFAULT] CHARACTER SET [=] charset_name | [DEFAULT] COLLATE [=] collation_name

CREATE DATABASE y USE
02:16

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (create_definition,...) [table_options]


CREATE TABLE
04:32

 CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)] [table_options]  select_statement 
CREATE TABLE .. SELECT
02:59

SHOW CREATE DATABASE db_name

SHOW CREATE TABLE tbl_name

SHOW y DESCRIBE
03:27

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [PARTITION (partition_name,...)] [(col_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDATE col_name=expr [, col_name=expr] ... ]

INSERT INTO (I)
03:20

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [PARTITION (partition_name,...)] SET col_name={expr | DEFAULT}, ... [ ON DUPLICATE KEY UPDATE col_name=expr [, col_name=expr] ... ]

INSERT INTO (y II)
04:44

INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [PARTITION (partition_name,...)] [(col_name,...)] SELECT ... [ ON DUPLICATE KEY UPDATE col_name=expr [, col_name=expr] ... ]

INSERT INTO .. SELECT
02:41

InnoDB sigue el mismo procedimiento para inicializar el contador de auto incremento de una tabla recientemente creada.

Nótese que si durante un INSERT el usuario especifica un valor NULL o 0 para una columna AUTO_INCREMENT, InnoDB trata a la columna como si no se hubiera especificado un valor y genera un nuevo valor para ella.

Luego de que el contador de auto incremento ha sido inicializado, si un usuario inserta una fila que explícitamente indica para la columna auto incremental un valor mayor que el valor actual del contador, éste se establece al valor actual de la columna. Si no se indica un valor, InnoDB incrementa el valor del contador en uno y lo asigna a la columna.

AUTO INCREMENT
02:22

UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ... [WHERE where_condition] [ORDER BY ...] [LIMIT row_count]

UPDATE
02:41

DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name [PARTITION (partition_name,...)] [WHERE where_condition] [ORDER BY ...] [LIMIT row_count]


TRUNCATE [TABLE] tbl_name

DELETE y TRUNCATE
02:26

ALTER {DATABASE | SCHEMA} [db_name] alter_specification ...

alter_specification:

[DEFAULT] CHARACTER SET [=] charset_name | [DEFAULT] COLLATE [=] collation_name

ALTER DATABASE
02:08

ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name [alter_specification [, alter_specification] ...] [partition_options]

ALTER TABLE y RENAME TABLE
07:35

• Se permiten hasta 64 índices por tabla (32 antes de MySQL 4.1.2). Cada índice puede consistir desde 1 hasta 16 columnas o partes de columnas. El máximo ancho de límite son 1000 bytes (500 antes de MySQL 4.1.2).

Índices y restricciones
07:29

CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] [DEFINER = { user | CURRENT_USER }] [SQL SECURITY { DEFINER | INVOKER }] VIEW view_name [(column_list)] AS select_statement [WITH [CASCADED | LOCAL] CHECK OPTION]

CREATE VIEW
02:47

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ... [RESTRICT | CASCADE]

DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

DROP
01:20

Se permiten hasta 64 índices por tabla (32 antes de MySQL 4.1.2). Cada índice puede consistir desde 1 hasta 16 columnas o partes de columnas. El máximo ancho de límite son 1000 bytes (500 antes de MySQL 4.1.2).

Funciones y procedimientos
06:48

Examen sección cuarta
6 questions
+
Unidad 5
14 Lectures 52:06

Algunos motores de almacenamiento tienen opciones que controlan su comportamiento. Se puede crear un fichero my.cnf y establecer opciones de inicio para el motor que se planea utilizar. Si se van a usar motores de almacenamiento con soporte para tablas transaccionales (InnoDB, BDB), hay que asegurarse de que se han configurado según lo deseado antes de iniciar el servidor:

Fichero my.cnf
05:12

En esta clase se explica como se alojan los datos de la base de datos en el servidor.

Estructura de Directorios
04:23

Sumario de la estrategia de copias de seguridad

En caso de un fallo de sistema operativo o energía, InnoDB hace todo el trabajo de restauración de datos por si mismo. Pero para asegurarse de que puede dormir bien, tenga en cuenta los siguientes puntos:

• Ejecute siempre el servidor MySQL con la opción --log-bin, o mejor aún --log-bin=log_name, donde el archivo de registro está guardado en algún medio diferente al disco en donde está el directorio de datos. Si tiene un medio seguro tal, también puede ser bueno para hacer balanceo de carga de disco (que resulta en una mejora de rendimiento).

• Haga copias de seguridad completas periodicas, utilizando el último comando mysqldump dado previamente, que hace una copia de seguridad en línea sin bloqueo.

• Haga copias de seguridad incrementales periodicamente volcando los registros con FLUSH LOGS o mysqladmin flush-logs.

Copias de seguridad y restaurar
04:15

Si quiere hacer una copia de una tabla a un nivel SQL, puede utilizar SELECT INTO ... OUTFILE. Para SELECT INTO ... OUTFILE, el archivo de salida no debe existir previamente.

El comando LOAD DATA INFILE lee registros desde un fichero de texto a una tabla a muy alta velocidad. El nombre de fichero debe darse como una cadena literal.

Consultas para importar y exportar
04:24

CHECK TABLE tbl_name [, tbl_name] ... [option] ...

option = { FOR UPGRADE | QUICK | FAST | MEDIUM | EXTENDED | CHANGED }

CHECK TABLE
02:47

REPAIR [NO_WRITE_TO_BINLOG | LOCAL] TABLE tbl_name [, tbl_name] ... [QUICK] [EXTENDED] [USE_FRM]

REPAIR TABLE y comando mysqlrepair
02:48

ANALYZE [NO_WRITE_TO_BINLOG | LOCAL] TABLE tbl_name [, tbl_name] ...

ANALYZE TABLE y comando mysqlanalyze
02:17

Información sobre los posibles permisos que podemos aplicar en MySQL.

Permisos
03:21

CREATE USER user_specification [, user_specification] ... user_specification: user [ identified_option ] identified_option: { IDENTIFIED BY 'auth_string' | IDENTIFIED BY PASSWORD 'hash_string' }

GRANT priv_type [(column_list)] [, priv_type [(column_list)]] ... ON [object_type] priv_level TO user_specification [, user_specification] ... [REQUIRE {NONE | <em><code>ssl_option</code></em> [[AND] <em><code>ssl_option</code></em>] ...}] [WITH {GRANT OPTION | <em><code>resource_option</code></em>} ...] object_type: { TABLE | FUNCTION | PROCEDURE } priv_level: { * | *.* | db_name.* | db_name.tbl_name | tbl_name | db_name.routine_name } user_specification: user [ auth_option ] auth_option: { IDENTIFIED BY 'auth_string' | IDENTIFIED BY PASSWORD 'hash_string' }


CREATE USER, GRANT y REVOKE
04:37

En esta clase explicamos el procedimiento para cambiar la contraseña de administrador en caso de perderla.

Cambiar y restaurar contraseña
04:01

OPTIMIZE [NO_WRITE_TO_BINLOG | LOCAL] TABLE tbl_name [, tbl_name] ...

Optimización
02:45

Cuando se inicia con la opción --log-slow-queries[=file_name], mysqld escribe un archivo de registro que contiene todos las sentencias SQL que llevaron más de long_query_time segundos para ejecutarse completamente. El tiempo para adquirir los bloqueos de tabla iniciales no se cuenta como tiempo de ejecución

Consultas lentas
05:51

{EXPLAIN | DESCRIBE | DESC} tbl_name [col_name | wild] {EXPLAIN | DESCRIBE | DESC} [explain_type] explainable_stmt

explainable_stmt: { SELECT statement | DELETE statement | INSERT statement | REPLACE statement | UPDATE statement }

EXPLAIN
01:41

shell> mysqladmin [options] command [command-arg] [command [command-arg]] ...

Comando mysqladmin
03:44

Examen sección quinta
7 questions
About the Instructor
Proyecto Oforte Profesor: Alberto González
4.3 Average rating
587 Reviews
2,540 Students
4 Courses
Formación Online Tecnológica

Alberto González:

He estado trabajando con UNIX por más de 10 años. Actualmente trabajo para Red Hat GmbH. Realizando implementación, diseño y documentación para diferentes productos de Red Hat.

Certificado en:

  • Red Hat Openstack
  • Red Hat Engineer
  • Red Hat system Administrador
  • Amazon Web Services
  • MySql Database Administrator
  • LPIC2
  • IBM Power Systems


Proyecto Oforte.

Ofrecemos cursos de calidad con orientación práctica. Nuestro método es reducir la parte teórica para poder así centrarnos en la parte práctica. Con ejemplos reales y explicaciones basadas en la experiencia del profesor ofrecemos cursos de calidad para los alumnos. Además ofrecemos distintas herramientas al usuario para que puedan practicar lo que el profesor está explicando.