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 (35 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.
290 students enrolled
$19
$40
52% off
Take This Course
  • Lectures 70
  • Length 3.5 hours
  • Skill Level All Levels
  • Languages Spanish, captions
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 9/2015 Spanish Closed captions available

Course 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.

What are the requirements?

  • No hay requisitos previos para este curso.

What am I going to get from this course?

  • Utilizar y administrar base de datos.
  • Gestionar el gestor de base de datos MySQL.
  • Estar preparado para obtener la certificación de MySQL.

What is the target audience?

  • Curso dirigido a personas que quieran aprender sobre base de datos y SQL.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Unidad 1
02:03

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

01:45

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.

01:50

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.

03:58

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.

01:33

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.

02:25
  • Campo
  • Cursor
  • Fila
  • Índice
  • Procedimiento almacenado
  • Registro
  • Tabla
  • Trigger
03:18

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.

04:10

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.

01:34

Las claves primaras ayudan a identificar un registro.

02:11

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

02:14

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

01:42

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

01:39

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

01:41

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.

02:03

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

03:30

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

Examen sección primera
7 questions
Section 2: Unidad 2
03:42

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

02:01

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.

02:10

Las funciones facilitan nuestras operaciones.

03:04

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.

04:55

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

03:44

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

04:34

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

04:17

Otras funciones de gran utilidad.

02:36

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

02:26

El operador IN es utilizado para realizar subconsultas.

01:58

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

02:49

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

01:31

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

01:33

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

Examen sección segunda
6 questions
Section 3: Unidad 3
01:57

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

02:07

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

03:52

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

02:03

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

02:27

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.

05:16

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.

02:33

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).

03:46

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;

02:53

Desafortunadamente MySQL nos soporta FULL JOIN.

03:02

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

Examen sección tercera
5 questions
Section 4: Unidad 4
02:16

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

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

04:32

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


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

SHOW CREATE DATABASE db_name

SHOW CREATE TABLE tbl_name

03:20

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] ... ]

04:44

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] ... ]

02:41

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] ... ]

02:22

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.

02:41

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

02:26

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


TRUNCATE [TABLE] tbl_name

02:08

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

alter_specification:

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

07:35

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

07:29

• 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).

02:47

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]

01:20

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

DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

06:48

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).

Examen sección cuarta
6 questions
Section 5: Unidad 5
05:12

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:

04:23

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

04:15

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.

04:24

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.

02:47

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

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

02:48

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

02:17

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

03:21

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

04:37

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' }


04:01

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

02:45

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

05:51

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

01:41

{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 }

03:44

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

Examen sección quinta
7 questions

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Proyecto Oforte, Formación Online Tecnológica

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.

Ready to start learning?
Take This Course