Artículos de Tecnología > Data Science

MySQL: desde la descarga e instalación hasta su primera tabla

Philemon Delva
Philemon Delva

image

En este tutorial, aprenderás paso a paso cómo instalar MySQL en la plataforma Windows usando el instalador MySQL. Después del tutorial, tendrás un servidor MySQL y tus herramientas en funcionamiento en tu computadora para aprender y practicar.

MySQL sin duda es uno de los sistemas de gestión de bases de datos de código abierto más populares y utilizados del mundo. Es fácil de configurar y usar. Es reconocido como uno de los motores de base de datos más rápidos, la mayoría de los servidores web Linux (y muchos basados en Windows) ofrecen MySQL.

MySQL está estrechamente integrado con PHP, lo que lo convierte en un candidato ideal para muchas aplicaciones web.

Descargar MySQL

Si deseas instalar MySQL en un entorno Windows, el instalador de MySQL es la forma más sencilla. El instalador de MySQL proporciona un asistente fácil de usar que le ayuda a instalar MySQL con los siguientes componentes:

El Instalador de MySQL se puede comprar en este enlace.

Si te conectas a Internet mientras instalas MySQL, puedes elegir la versión de instalación en línea mysql-installer-web-community-.exe.

Si deseas instalar MySQL sin conexión, puedes descargar el archivo mysql-installer-community-.exe.

Instalación de MySQL a través del instalador de MySQL

Para instalar MySQL usando el instalador de MySQL, haz doble clic en el archivo del instalador de MySQL y sigue los pasos a continuación:

image

image

Una pantalla de bienvenida ofrece varias opciones. Elige la primera opción: Install MySQL Products

image

Descarga los últimos productos MySQL: El instalador de MySQL comprueba y descarga los últimos productos de MySQL, incluyendo el servidor MySQL, MySQL Workbench, etc.

image

Pulsa en el botón Next (siguiente) para seguir

image

Elige un tipo de instalación: hay varios tipos de configuración disponibles. Elige la opción Full para instalar todos los productos y funciones de MySQL.

image

Comprobando los requisitos

image

Instalación en progreso: El instalador de MySQL descarga todos los productos seleccionados. Esto puede llevar un tiempo dependiendo de los productos seleccionados y la velocidad de su conexión a Internet.

image

image

Descarga completa. Pulsa en el botón Next para seguir

image

Visión general de la configuración. Pulsa en el botón Next para configurar el servidor de base de datos MySQL

image

Configuración del servidor MySQL: elija el tipo de configuración y el puerto MySQL (3006 por defecto) y pulsa en el botón Next para seguir.

image

Elige una contraseña para la cuenta root. Anota la contraseña y mantenla segura si estás instalando el servidor de base de datos MySQL en un servidor de producción. Si deseas agregar un usuario de MySQL más, puedes hacerlo en este paso.

image

Elige los detalles del servicio de Windows, incluyendo el Nombre del servicio de Windows y el tipo de cuenta, luego pulsa en el botón Next para seguir.

image

El Instalador de MySQL está configurando el servidor de base de datos MySQL. Espera hasta que termine y pulsa en el botón Next para seguir.

image

image

El Instalador de MySQL instala bases de datos y plantillas de muestra.

image

La instalación está completa. Pulsa en el botón Finish (Terminar) para cerrar el asistente de instalación e iniciar MySQL Workbench.

Creando tablas en MySQL

Ahora veamos cómo crear tablas en MySQL.

La instrucción CREATE TABLE te permite crear una nueva tabla en una base de datos.

A continuación se ilustra la sintaxis básica de la declaración CREATE TABLE:

  CREATE TABLE [IF NOT EXISTS] table_name(

​    column_1_definition,

​    column_2_definition,

​    ...,

​    table_constraints

  ) ENGINE=storage_engine 

Primero, debes especificar el nombre de la tabla que deseas crear después de las palabras clave CREATE TABLE. El nombre de la tabla debe ser exclusivo dentro de una base de datos. SI NO EXISTE es opcional. Te permite verificar si la tabla que creas ya existe en la base de datos. Si ese es el caso, MySQL ignorará toda la declaración y no creará ninguna tabla nueva.

En segundo lugar, debes especificar una lista de columnas de la tabla en la sección column_list, las columnas están separadas por comas.

En tercer lugar, puedes especificar opcionalmente el mecanismo de almacenamiento de la tabla en la cláusula ENGINE. Puedes utilizar cualquier mecanismo de almacenamiento como InnoDB y MyISAM. Si no declaras explícitamente un mecanismo de almacenamiento, MySQL usará InnoDB de forma predeterminada.

InnoDB se ha convertido en el mecanismo de almacenamiento predeterminado desde la versión 5.5 de MySQL. El mecanismo de almacenamiento InnoDB brinda muchos beneficios de un sistema de administración de bases de datos relacionales, como transacciones ACID, integridad referencial y recuperación de fallas. En versiones anteriores, MySQL usaba MyISAM como mecanismo de almacenamiento predeterminado.

La sintaxis para definir una columna se muestra a continuación:

  column_name data_type(length) [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;

Aquí están los detalles:

· El nombre de la columna especifica el nombre de la columna. Cada columna tiene un tipo de datos específico y una longitud opcional, por ejemplo, VARCHAR (255) · La restricción NOT NULL garantiza que la columna no contiene NULL. Además de la restricción NOT NULL, una columna puede tener restricciones adicionales como CHECK y UNIQUE. · El estándar especifica un valor predeterminado para la columna. · AUTO_INCREMENT indica que el valor de la columna se incrementa automáticamente en uno cada vez que se inserta una nueva fila en la tabla. Cada tabla tiene como máximo una columna AUTO_INCREMENT.

Después de la lista de columnas, puedes definir restricciones de tabla como UNIQUE, CHECK, PRIMARY KEY y FOREIGN KEY.

Por ejemplo, si deseas definir una columna o un grupo de columnas como clave principal, utiliza la siguiente sintaxis:

  PRIMARY KEY (col1,col2,...)

Ejemplos de instrucciones MySQL CREATE TABLE

Veamos algunos ejemplos de creación de nuevas tablas. La siguiente declaración crea una nueva tabla llamada tasks:

CREATE TABLE IF NOT EXISTS tasks 
task_id INT AUTO_INCREMENT PRIMARY KEY,

​     title VARCHAR(255) NOT NULL,

​     start_date DATE,

​     due_date DATE,

​     status TINYINT NOT NULL,

​     priority TINYINT NOT NULL,

​     description TEXT,

​     created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP

)      ENGINE=INNODB;

La tabla de tareas tiene las siguientes columnas:

· El task_id es una columna de incremento automático. Si usas la instrucción INSERT para insertar una nueva fila en la tabla sin especificar un valor para la columna task_id, MySQL generará automáticamente un número entero secuencial para el task_id desde 1.

· La columna title es una columna de cadena de caracteres variable cuya longitud máxima es 255. Esto significa que no puedes ingresar una cadena cuya longitud sea mayor que 255 en esta columna. La restricción NOT NULL indica que la columna no acepta NULL. En otras palabras, debes proporcionar un valor no NULL al insertar o actualizar esta columna.

· El start_date y due_date son columnas DATE. Como estas columnas no tienen la restricción NOT NULL, pueden almacenar NULL. La columna start_date tiene un valor predeterminado de la fecha actual. En otras palabras, si no proporciona un valor para la columna start_date al insertar una nueva líneaa, la columna start_date tendrá la fecha actual del servidor de la base de datos.

· El status y la priority son las columnas TINYINT que no permiten NULL. La columna description es una columna de TEXT que acepta NULL.

· El created_at es una columna TIMESTAMP que acepta la hora actual como valor predeterminado.

El tasks_id es la columna de clave principal de la columna de la tabla tasks. Esto significa que los valores de la columna tasks_id identificará de forma única las líneas de la tabla.

Después de ejecutar la instrucción CREAR TABLE para crear la tabla tasks, puedes ver su estructura usando la insteucción DESCRIBE:

image

Esta imagen muestra el diagrama de la base de datos de la tabla tasks:

image

MySQL CREATE TABLE con un ejemplo de una clave primaria de clave externa. Supón que cada tarea tiene una lista de verificación o una lista de tareas pendientes. Para almacenar listas de verificación de tareas, puedes crear una nueva tabla llamada checklists de la siguiente manera:

CREATE TABLE IF NOT EXISTS checklists (


   todo_id INT AUTO_INCREMENT,

   task_id INT,

   todo VARCHAR(255) NOT NULL,

   is_completed BOOLEAN NOT NULL DEFAULT FALSE,

   PRIMARY KEY (todo_id , task_id),

   FOREIGN KEY (task_id)

​     REFERENCES tasks (task_id)

​     ON UPDATE RESTRICT ON DELETE CASCADE

);

La tabla checklists tiene una clave principal que consta de dos columnas. Por lo tanto, usamos una restricción de tabla para definir la primary key:

PRIMARY KEY (todo_id , task_id)

Adempas, el task_id es la columna de clave externa que hace referencia a la columna task_id de la tabla tasks, usamos una restricción de clave extranjera para establecer esta relación:

FOREIGN KEY (task_id)

  REFERENCES tasks (task_id)

  ON UPDATE RESTRICT

  ON DELETE CASCADE

Esta imagen ilustra la tabla checklists y su relación con la tabla de tasks:

image

Algunos Comandos de MySQL Útiles

show tables**;**Para ver todas las tablas en la base de datos.

show databases**;** Enumerar todas las bases de datos en el servidor SQL.

create database [databasename**];**Crear una base de datos en un servidor SQL.

use [db name**];**Cambiar base de datos.

describe [table name**];**Ver formatos de campo.

drop database [database name**];**Para eliminar una base de datos.

drop table [table name**];**Para eliminar una tabla.

*SELECT FROM [table name];** Para ver toda la información en una tabla.

show columns from [table name**];**Devuelve la información de las columnas y las columnas respectivas de la tabla especificada.

*SELECT FROM [table name] WHERE [field name] = “valor dado”; ** Ver campos específicos con el valor del “valor dado”.

*SELECT FROM [table name] WHERE name = “Fulano” AND phone_number = ‘8585858′;** Ver todas las entradas que contienen el nombre “Fulano de tal” y el número de teléfono' 8585858 ′.

*SELECT FROM [table name] WHERE name != “Abracadabra” AND phone_number = ‘6777777′ order by phone_number;** Ver todas las entradas que contengan el nombre “Abracadabra” y el número de teléfono' 6777777 ′ ordenadas por campo de teléfono.

*SELECT FROM [table name] WHERE name like “Delva%” AND phone_number = ‘6220980′;** Ver todas las entradas que comienzan con las letras' juan' y el número de teléfono' 6220980 ′.

SELECT DISTINCT [column name] FROM [table name**];** Mostrar entradas únicas.

SELECT [col1],[col2] FROM [table name] ORDER BY [col2] DESC**;** Mostrar las entradas seleccionadas en orden ascendente (asc) o descendente (desc).

*SELECT COUNT() FROM [table name];** Devolver el número de columnas.

*SELECT SUM() FROM [table name];** Sumar las columnas.

INSERT INTO [table name] (Host,User,Password) VALUES(’%’,’user’,PASSWORD(’password’)); Cambiar a mysql db. Crear un nuevo usuario.

SET PASSWORD FOR ‘user’@’hostname’ = PASSWORD(’passwordhere’)**;**Cambiar la contraseña de un usuario (desde la línea de comandos de MySQL).

DELETE from [table name] where [field name] = ‘whatever’; Eliminar líneas de una tabla.

FLUSH PRIVILEGES**;** Actualizar permisos y privilegios de una base de datos.

alter table [table name] drop column [column name]**;**Eliminar una Columna.

alter table [table name] add column [new column name] varchar (20); Agregar una columna a una base de datos.

alter table [table name] change [old column name] [new column name] varchar (50)**;**Cambiar el nombre de una tabla.

alter table [table name] add unique ([column name**]);**Crear una sola columna.

alter table [table name] modify [column name] VARCHAR (3);Crear una columna más grande.

alter table [table name] drop index [colmn name**];**Eliminar solo de una tabla.

[mysql dir]/bin/mysqldump -u root -ppassword –opt >/tmp/alldatabases.sql: Realizar una copia de seguridad de todas las bases de datos.

[mysql dir]/bin/mysqldump -u username -ppassword –databases databasename >/tmp/databasename.sql: Realizar una copia de seguridad de una sola base de datos.

mysql dir]/bin/mysqldump -c -u username -ppassword databasename tablename > /tmp/databasename.tablename.sql : Hacer una copia de seguridad de una tabla desde una base de datos.

[mysql dir]/bin/mysql -u username -ppassword databasename < /tmp/databasename.sql: Restaurar una base de datos (o tabla) a partir de una copia de seguridad.

UPDATE NOMBRE_DE_LA_TABLA SET campo1 = valor1, campo2 = valor2**.**El comando de actualización tiene una sintaxis muy similar a INSERT, pero se usa para actualizar los registros de la base de datos.

En este tutorial, aprendiste a usar la instrucción MySQL CREATE TABLE para crear una tabla en la base de datos. Y también aprendiste cómo instalar MySQL a través del instalador y, por fin, algunos comandos útiles de MySQL.

Si deseas aprender más sobre MySQL te invitamos a conocer la formación de cursos de Base de Datos en la plataforma de Alura Latam.

Puedes leer también:

Artículos de Tecnología > Data Science

En Alura encontrarás variados cursos sobre Data Science. ¡Comienza ahora!

  • 110 cursos

    Cursos de Programación, Front End, Data Science, Innovación y Gestión.

  • Videos y actividades 100% en Español
  • Certificado de participación
  • Estudia las 24 horas, los 7 días de la semana
  • Foro para resolver tus dudas
  • Descuento de lanzamiento de 30%

Trimestral

Descuento de lanzamiento de 30%
  • 110 cursos

    Cursos de Programación, Front End, Data Science, Innovación y Gestión.

  • Videos y actividades 100% en Español
  • Certificado de participación
  • Estudia las 24 horas, los 7 días de la semana
  • Foro para resolver tus dudas
US$19,90
un pago de US$29,90 US$19,90
¡Quiero empezar a estudiar!

Paga en moneda local en los siguientes países

Semestral

Descuento de lanzamiento de 30%
  • 110 cursos

    Cursos de Programación, Front End, Data Science, Innovación y Gestión.

  • Videos y actividades 100% en Español
  • Certificado de participación
  • Estudia las 24 horas, los 7 días de la semana
  • Foro para resolver tus dudas
US$33,90
un pago de US$49,90 US$33,90
¡Quiero empezar a estudiar!

Paga en moneda local en los siguientes países

Acceso a todos los cursos
Estudia las 24 horas, dónde y cuándo quieras
Nuevos cursos cada semana