Resumen: En este tutorial, le mostraremos cómo usar la instrucción MySQL CREATE TABLE
para crear una nueva tabla en la base de datos.
MySQL CREATE TABLE syntax
la instrucción CREATE TABLE
le permite crear una nueva tabla en una base de datos.
lo siguiente ilustra la sintaxis básica de la instrucción CREATE TABLE
:
examinemos la sintaxis con mayor detalle.,
primero, especifique el nombre de la tabla que desea crear después de las palabras clave CREATE TABLE
. El nombre de la tabla debe ser único dentro de una base de datos. El IF NOT EXISTS
es opcional. Le permite comprobar si la tabla que crea ya existe en la base de datos. Si este es el caso, MySQL ignorará toda la instrucción y no creará ninguna tabla nueva.
en segundo lugar, especifique una lista de columnas de la tabla en la sección column_list
, las columnas están separadas por comas.,
en tercer lugar, puede especificar opcionalmente el motor de almacenamiento para la tabla en la cláusula ENGINE
. Puede utilizar cualquier motor de almacenamiento como InnoDB y MyISAM. Si no declara explícitamente un motor de almacenamiento, MySQL usará InnoDB por defecto.
InnoDB se convirtió en el motor de almacenamiento predeterminado desde la versión 5.5 de MySQL. El motor de almacenamiento InnoDB aporta muchos beneficios de un sistema de gestión de bases de datos relacionales, como transacciones ácidas, integridad referencial y recuperación de fallos. En las versiones anteriores, MySQL usaba MyISAM como motor de almacenamiento predeterminado.,
a continuación se muestra la sintaxis para la definición de una columna:
Aquí están los detalles:
- El
column_name
especifica el nombre de la columna. Cada columna tiene un tipo de datos específico y tamaño opcional por ejemplo,VARCHAR(255)
-
NOT NULL
restricción asegura que la columna no contendráNULL
. Además de la restricciónNOT NULL
, una columna puede tener restricciones adicionales como CHECK y UNIQUE. - El
DEFAULT
especifica un valor predeterminado para la columna., - El
AUTO_INCREMENT
indica que el valor de la columna se incrementa en uno automáticamente cada vez que se inserta una nueva fila en la tabla. Cada tabla tiene un máximo de una columnaAUTO_INCREMENT
.
después de la lista de columnas, puede definir restricciones de tabla como único, comprobación, clave primaria y clave foránea.
por ejemplo, si desea establecer una columna o un grupo de columnas como clave principal, utilice la siguiente sintaxis:
Code language: SQL (Structured Query Language) (sql)
ejemplos de sentencias MySQL CREATE TABLE
veamos algunos ejemplos de creación de tablas nuevas.,
1) MySQL CREATE TABLE ejemplo simple
la siguiente instrucción crea una nueva tabla llamada tasks
:
Code language: SQL (Structured Query Language) (sql)
la tabla de tareas tiene las siguientes columnas:
- El
task_id
es una columna de incremento automático. Si utiliza la instrucciónINSERT
para insertar una nueva fila en la tabla sin especificar un valor para la columnatask_id
, MySQL generará automáticamente un entero secuencial para la columnatask_id
a partir de 1., - la columna
title
es una columna de cadena de caracteres variable cuya longitud máxima es 255. Significa que no puede insertar una cadena cuya longitud sea mayor que 255 en esta columna. ElNOT NULL
restricción indica que la columna no aceptaNULL
. En otras palabras, debe proporcionar un valor no nulo cuando inserta o actualiza esta columna. -
start_date
ydue_date
sonDATE
columnas., Debido a que estas columnas no tienen la restricciónNOT NULL
, pueden almacenarNULL
. 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 cuando inserta una nueva fila, la columna start_date tomará la fecha actual del servidor de base de datos. -
status
ypriority
sonTINYINT
columnas que no permiten que elNULL
., -
description
columna es unTEXT
columna que aceptaNULL
. - la columna
created_at
es una columnaTIMESTAMP
que acepta la hora actual como valor predeterminado.
La task_id
es la columna de clave primaria de la tabla tasks
. Significa que los valores de la columna task_id
identificarán de forma única las filas de la tabla.,
Una vez que ejecute la instrucción CREATE TABLE
para crear la tabla tasks
, puede ver su estructura utilizando la instrucción DESCRIBE
:
Code language: SQL (Structured Query Language) (sql)
esta imagen muestra el diagrama de base de datos de la tabla tasks
:
2) MySQL create table with a foreign key primary key Example
supongamos que cada tarea tiene una lista de comprobación o lista de tareas pendientes., Para almacenar listas de verificación de tareas, puede crear una nueva tabla llamada checklists
de la siguiente manera:
la tabla checklists
tiene una clave primaria que consta de dos columnas., Por lo tanto, utilizamos una restricción de tabla para definir la clave primaria:
Code language: SQL (Structured Query Language) (sql)
Además, la task_id
es la columna de clave externa que hace referencia a la columna task_id
de la tabla tasks
, utilizamos una restricción de clave foránea para establecer esta relación:
usted aprenderá más sobre la restricción de clave foránea en el siguiente tutorial.,
Esta imagen ilustra el checklists
tabla y su relación con el tasks
tabla:
En este tutorial, usted ha aprendido a utilizar MySQL CREATE TABLE
instrucción para crear una nueva tabla en la base de datos.
- ¿Fue útil este tutorial?
- YesNo