sql >> Databáze >  >> RDS >> Mysql

Jak vytvořit tabulku v MySQL

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!

  1. Jak deklarovat uživatelsky definovanou výjimku pomocí proměnné výjimky v databázi Oracle

  2. MySQL v roce 2018:Co je ve verzi 8.0 a další pozorování

  3. Parametr časového limitu IDLE v Oracle

  4. Jak odeslat HTML e-mail ze serveru SQL (T-SQL)