Mnohokrát možná budete muset vytvořit tabulku v MySQL. Zde je návod, jak vytvořit tabulku pomocí příkazu MySQL CREATE TABLE.
Jak vytvořit tabulku v MySQL
Zde jsou kroky k vytvoření tabulky v MySQL.
MySQL CREATE TABLE umožňuje vytvořit novou tabulku v databázi. Zde je syntaxe.
CREATE TABLE [IF NOT EXISTS] table_name( column_1_definition, column_2_definition, ..., table_constraints ) ENGINE=storage_engine;
Ve výše uvedeném dotazu na vytvoření tabulky název_tabulky je název vašeho nového stolu. IF NOT EXISTS je volitelný argument, který zkontroluje, zda tabulka již existuje, a vytvoří tabulku pouze v případě, že neexistuje.
definice_1_sloupce , definice_2_sloupce , … jsou různé definice sloupců, z nichž každá se skládá z názvu sloupce a datového typu.
table_contraints jsou různé typy volitelných omezení, jako je omezení cizího klíče, omezení primárního klíče atd.
Jako proměnnou ENGINE můžete volitelně zadat úložný stroj. MySQL podporuje úložiště InnoDB a MyISAM. Pokud tuto proměnnou neurčíte, MySQL bude standardně používat InnoDB.
Bonusové čtení:MySQL Alter Table Column
Příklady CREATE TABLE MySQL
Zde je dotaz SQL pro vytvoření tabulky v MySQL. Vytvoříme objednávky tabulky pro uložení seznamu objednávek
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 | |
+--------------+--------------+------+-----+-------------------+----------------+
Ve výše uvedeném dotazu
id je primární klíč naší tabulky s omezením AUTO INCREMENT. Takže když do této tabulky přidáte nový řádek, MySQL automaticky zvýší a automaticky vyplní tento sloupec pro nový řádek.
název_produktu je sloupec VARCHAR (řetězec) pro uložení názvu produktu
datum_objednávky je sloupec data. Protože nemá žádná omezení, může mít dokonce hodnoty NULL.
cena je celočíselný sloupec s omezením NOT NULL. Nemůže tedy mít hodnoty null.
vytvořeno_at je sloupec časového razítka s výchozí hodnotou CURRENT_TIMESTAMP.
Pro tuto tabulku jsme se rozhodli použít úložný modul INNODB.
Bonusové čtení:SLOUPEC PŘIDÁNÍ MySQL
MySQL CREATE TABLE with FOREIGN KEY
Vytvořme novou tabulku v MySQL s omezením FOREIGN KEY. Vytvoříme novou tabulku stav_objednávky s cizím klíčem order_id který odkazuje na primární klíč objednávky tabulka.
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 | |
+--------------+--------------+------+-----+---------+----------------+
Ve výše uvedeném dotazu přidáme omezení cizího klíče pomocí MySQL ADD FOREIGN KEY
Doufejme, že nyní můžete snadno vytvořit tabulku v MySQL.
Ubiq usnadňuje vizualizaci dat během několika minut a sledování na řídicích panelech v reálném čase. Vyzkoušejte to ještě dnes!