sql >> Base de Datos >  >> RDS >> Mysql

Cómo crear una tabla en MySQL

Muchas veces puede necesitar crear una tabla en MySQL. Aquí se explica cómo crear una tabla con el comando CREATE TABLE de MySQL.

Cómo crear una tabla en MySQL

Estos son los pasos para crear una tabla en MySQL.

MySQL CREATE TABLE le permite crear una nueva tabla en la base de datos. Aquí está la sintaxis.

CREATE TABLE [IF NOT EXISTS] table_name(
   column_1_definition,
   column_2_definition,
   ...,
   table_constraints
) ENGINE=storage_engine;

En la consulta de creación de tabla anterior, table_name es el nombre de su nueva tabla. IF NOT EXISTS es un argumento opcional que verifica si la tabla ya existe y crea una tabla solo si no existe.

columna_1_definición , columna_2_definición , ... son definiciones de columna diferentes, cada una de las cuales consta de un nombre de columna y un tipo de datos.

table_contraints son diferentes tipos de restricciones opcionales, como la restricción de clave externa, la restricción de clave principal, etc.

Opcionalmente, puede especificar el motor de almacenamiento como variable ENGINE. MySQL es compatible con los motores de almacenamiento InnoDB y MyISAM. Si no especifica esta variable, MySQL utilizará InnoDB de forma predeterminada.

Lectura adicional:MySQL Alter Table Column

Ejemplos de CREAR TABLA MySQL

Aquí está la consulta SQL para crear una tabla en MySQL. Crearemos un pedidos tabla para almacenar la lista de pedidos

CREATE TABLE IF NOT EXISTS orders (
    id INT AUTO_INCREMENT PRIMARY KEY,
    product_name VARCHAR(255) NOT NULL,
    order_date DATE,
    price INT NOT NULL,
    description TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)  ENGINE=INNODB;


mysql> describe orders;
+--------------+--------------+------+-----+-------------------+----------------+
| Field        | Type         | Null | Key | Default           | Extra          |
+--------------+--------------+------+-----+-------------------+----------------+
| id           | int(11)      | NO   | PRI | NULL              | auto_increment |
| product_name | varchar(255) | NO   |     | NULL              |                |
| order_date   | date         | YES  |     | NULL              |                |
| price        | int(11)      | NO   |     | NULL              |                |
| description  | text         | YES  |     | NULL              |                |
| created_at   | timestamp    | NO   |     | CURRENT_TIMESTAMP |                |
+--------------+--------------+------+-----+-------------------+----------------+

En la consulta anterior,

identificación es la clave principal de nuestra tabla con restricción AUTO INCREMENT. Entonces, cuando agrega una nueva fila a esta tabla, MySQL incrementará y completará automáticamente esta columna para la nueva fila.

nombre_producto es una columna VARCHAR (cadena) para almacenar el nombre del producto

fecha_pedido es una columna de fecha. Como no tiene restricciones, incluso puede tener valores NULL.

precio es una columna de enteros con una restricción NOT NULL. Por lo que no puede tener valores nulos.

creado_en es una columna de marca de tiempo con CURRENT_TIMESTAMP como valor predeterminado.

Hemos optado por utilizar el motor de almacenamiento INNODB para esta tabla.

Lectura adicional:MySQL AGREGAR COLUMNA

MYSQL CREAR TABLA con CLAVE EXTRANJERA

Vamos a crear una nueva tabla en MySQL con la restricción FOREIGN KEY. Crearemos una nueva tabla order_status con una clave foránea order_id que hace referencia a la clave principal de pedidos mesa.

mysql> CREATE TABLE IF NOT EXISTS order_status (
         status_id INT AUTO_INCREMENT,
         order_id INT,
         status VARCHAR(255) NOT NULL,
         is_completed BOOLEAN NOT NULL DEFAULT FALSE,
         PRIMARY KEY (status_id),
         FOREIGN KEY (order_id)
             REFERENCES orders (id)
             ON UPDATE RESTRICT ON DELETE CASCADE
     );

mysql> describe order_status;
+--------------+--------------+------+-----+---------+----------------+
| Field        | Type         | Null | Key | Default | Extra          |
+--------------+--------------+------+-----+---------+----------------+
| status_id    | int(11)      | NO   | PRI | NULL    | auto_increment |
| order_id     | int(11)      | YES  | MUL | NULL    |                |
| status       | varchar(255) | NO   |     | NULL    |                |
| is_completed | tinyint(1)   | NO   |     | 0       |                |
+--------------+--------------+------+-----+---------+----------------+

En la consulta anterior, agregamos una restricción de clave externa usando MySQL ADD FOREIGN KEY

Con suerte, ahora puede crear fácilmente una tabla en MySQL.

Ubiq facilita la visualización de datos en minutos y la supervisión en paneles en tiempo real. ¡Pruébalo hoy!