Många gånger kan du behöva skapa tabeller i MySQL. Så här skapar du en tabell med kommandot MySQL CREATE TABLE.
Hur man skapar en tabell i MySQL
Här är stegen för att skapa tabeller i MySQL.
MySQL CREATE TABLE låter dig skapa en ny tabell i databasen. Här är syntaxen.
CREATE TABLE [IF NOT EXISTS] table_name( column_1_definition, column_2_definition, ..., table_constraints ) ENGINE=storage_engine;
I ovanstående skapa tabell-fråga, tabellnamn är namnet på ditt nya bord. IF NOT EXISTS är ett valfritt argument som kontrollerar om tabellen redan finns och skapar en tabell endast om den inte finns.
column_1_definition , kolumn_2_definition , … är olika kolumndefinitioner som var och en består av kolumnnamn och datatyp.
table_contraints finns olika typer av valfria begränsningar som begränsningar för främmande nyckel, begränsningar för primärnyckel osv.
Du kan valfritt ange lagringsmotor som ENGINE-variabel. MySQL stöder InnoDB och MyISAM lagringsmotorer. Om du inte anger denna variabel kommer MySQL att använda InnoDB som standard.
Bonus Läs:MySQL Alter Table Column
Exempel på MySQL SKAPA TABELL
Här är SQL-frågan för att skapa tabeller i MySQL. Vi kommer att skapa en order tabell för att lagra listan över beställningar
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 | |
+--------------+--------------+------+-----+-------------------+----------------+
I ovanstående fråga,
id är vår tabells primärnyckel med begränsningen AUTO ÖKNING. Så när du lägger till en ny rad i den här tabellen kommer MySQL automatiskt att öka och automatiskt fylla i den här kolumnen för den nya raden.
produktnamn är en VARCHAR (sträng) kolumn för att lagra produktnamn
order_datum är en datumkolumn. Eftersom den inte har några begränsningar kan den till och med ha NULL-värden.
pris är en heltalskolumn med en NOT NULL-begränsning. Så det kan inte ha nollvärden.
skapad_på är en tidsstämpelskolumn med CURRENT_TIMESTAMP som standardvärde.
Vi har valt att använda INNODB lagringsmotor för denna tabell.
Bonus Läs:MySQL ADD COLUMN
MySQL SKAPA TABELL med FOREIGN KEY
Låt oss skapa en ny tabell i MySQL med FOREIGN KEY-begränsning. Vi kommer att skapa en ny tabell order_status med en främmande nyckel order_id som refererar till den primära nyckeln för order bord.
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 | |
+--------------+--------------+------+-----+---------+----------------+
I ovanstående fråga lägger vi till en främmande nyckel-begränsning med MySQL ADD FOREIGN KEY
Förhoppningsvis kan du nu enkelt skapa tabeller i MySQL.
Ubiq gör det enkelt att visualisera data på några minuter och övervaka i realtidsinstrumentpaneler. Prova det idag!