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 campo, tipo 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