Las tablas son los elementos más importante dentro de una base de datos ya que se utilizan para almacenar los datos de nuestra aplicación.

¿Cómo crear una tabla?

Una tabla está compuesta principalmente por filas y columnas. En ella, las columnas se denominan campos, mientras que las filas se conocen como registros.

Podemos crear una tabla usando el comando CREATE TABLE. Para ello, primero vamos a conectarnos a MySQL/MariaDB y luego acceder a nuestra base de datos storage:

// Conectarnos a mysql
mysql -u nombre_usuario -p 

// Acceder a la base de datos 
USE storage;

Recuerda realizar estos pasos para acceder a tu base de datos.

Ahora, podemos crear la tabla employees copiando y pegando el siguiente código en la terminal:

CREATE TABLE employees (
    id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    branch_id BIGINT UNSIGNED,
    dni VARCHAR(20) UNIQUE,
    name VARCHAR(150),
    email VARCHAR(100),
    birth_date DATE,
    created_at TIMESTAMP NULL,
    updated_at TIMESTAMP NULL  
);

Presiona ENTER y ¡Listo!. Si todo ha ido bien y tu tabla se ha creado, recibirás un mensaje como el siguiente:

Query OK, 0 rows affected (0.010 sec)

No olvides terminar las instrucciones en ; o \G para que puedan ejecutarse.

Estructura de la tabla

El comando CREATE TABLE requiere que especifiques el nombre de la tabla y su encabezado, el cual es una lista de definiciones de campos separadas por coma. Por ejemplo, en la tabla que creamos:

  • El nombre de la tabla es employees.
  • El encabezado de la tabla es todo lo que va entre paréntesis.
  • Y cada línea dentro de los paréntesis corresponde a una definición de campo.

Además, nota que cada «definición de campo» está formada a su vez por el nombre del campotipo de dato y restricciones (en ese orden).

Por ejemplo, en la definición de campo dni VARCHAR(20) UNIQUE:

  • dni es el nombre del campo.
  • VARCHAR es el tipo de dato.
  • (20) es una restricción que indica el máximo de caracteres permitidos en el campo.
  • UNIQUE es una restricción que indica que solo un registro de ese campo podrá tener ese valor, es otras palabras, esta restricción no permite que el campo tenga valores duplicados.

Existen muchos tipos de datos y restricciones, conoce de ellas en nuestro libro Aprende SQL con MySQL y MariaDB o en la documentación de MySQL y MariaDB.

Visualizar las tablas de una base de datos

El comando SHOW TABLES nos permite visualizar las tablas pertenecientes a una base de datos. Podemos ver la tabla que hemos creado de esta manera:

MariaDB [storage]> SHOW TABLES;

Lo que nos mostrará un resultado como el siguiente:

+-------------------+
| Tables_in_storage |
+-------------------+
| employees         |
+-------------------+
1 row in set (0.000 sec)

Visualizar la estructura de una tabla

Con el comando DESCRIBE podemos visualizar la estructura de cualquier tabla de nuestra base de datos. Para ello debemos especificar el nombre de la tabla, por ejemplo:

MariaDB [storage]> DESCRIBE employees;

Veremos un resultado como el siguiente:

+------------+---------------------+------+-----+---------+----------------+
| Field      | Type                | Null | Key | Default | Extra          |
+------------+---------------------+------+-----+---------+----------------+
| id         | bigint(20) unsigned | NO   | PRI | NULL    | auto_increment |
| branch_id  | bigint(20) unsigned | YES  |     | NULL    |                |
| dni        | varchar(20)         | YES  | UNI | NULL    |                |
| name       | varchar(150)        | YES  |     | NULL    |                |
| email      | varchar(100)        | YES  |     | NULL    |                |
| birth_date | date                | YES  |     | NULL    |                |
| created_at | timestamp           | YES  |     | NULL    |                |
| updated_at | timestamp           | YES  |     | NULL    |                |
+------------+---------------------+------+-----+---------+----------------+
8 rows in set (0.001 sec)

Con el comando DESC seguido del nombre de la tabla, también podrás ver el resultado anterior.

¿Cómo eliminar una tabla?

Para eliminar una tabla debes usar el comando DROP TABLE seguido del nombre de la tabla. Por ejemplo, vamos a eliminar la tabla que creamos:

MariaDB [storage]> DROP TABLE employees;

Verifica que la tabla no contenga campos con referencias en otras tablas, de lo contrario el comando puede fallar.

Recuerda que al eliminar una tabla se borran todos sus datos e índices asociados.

Ahora si ejecutamos el comando SHOW TABLES veremos que la tabla no existe.

No olvides crear esta tabla nuevamente pues la estaremos usando en las siguientes lecciones.

Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.

Lección anterior Crear una base de datos en MySQL / MariaDB Lección siguiente Modificar tablas en MySQL / MariaDB