Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak stworzyć tabelę w MySQL

Wiele razy może być konieczne utworzenie tabeli w MySQL. Oto jak utworzyć tabelę za pomocą polecenia MySQL CREATE TABLE.

Jak utworzyć tabelę w MySQL

Oto kroki, aby utworzyć tabelę w MySQL.

MySQL CREATE TABLE pozwala na stworzenie nowej tabeli w bazie danych. Oto składnia.

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

W powyższym zapytaniu dotyczącym tworzenia tabeli nazwa_tabeli to nazwa nowej tabeli. JEŻELI NIE ISTNIEJE to opcjonalny argument, który sprawdza, czy tabela już istnieje i tworzy tabelę tylko wtedy, gdy nie istnieje.

kolumna_1_definicja , kolumna_2_definicja , … to różne definicje kolumn, z których każda składa się z nazwy kolumny i typu danych.

table_contraints są różne rodzaje opcjonalnych ograniczeń, takich jak ograniczenie klucza obcego, ograniczenie klucza głównego itp.

Opcjonalnie można określić silnik magazynu jako zmienną ENGINE. MySQL obsługuje silniki pamięci masowej InnoDB i MyISAM. Jeśli nie określisz tej zmiennej, MySQL domyślnie użyje InnoDB.

Przeczytaj bonus:Kolumna Alter Table MySQL

Przykłady MySQL CREATE TABLE

Oto zapytanie SQL do utworzenia tabeli w MySQL. Utworzymy zamówienia tabela do przechowywania listy zamówień

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 |                |
+--------------+--------------+------+-----+-------------------+----------------+

W powyższym zapytaniu

identyfikator jest kluczem podstawowym naszej tabeli z ograniczeniem AUTO INCREMENT. Więc kiedy dodasz nowy wiersz do tej tabeli, MySQL automatycznie zwiększy i automatycznie wypełni tę kolumnę dla nowego wiersza.

nazwa_produktu to kolumna VARCHAR (ciąg) do przechowywania nazwy produktu

data_zamówienia to kolumna daty. Ponieważ nie ma żadnych ograniczeń, może mieć nawet wartości NULL.

cena jest kolumną całkowitą z ograniczeniem NOT NULL. Więc nie może mieć wartości null.

utworzono_w to kolumna sygnatury czasowej z CURRENT_TIMESTAMP jako wartością domyślną.

Zdecydowaliśmy się użyć silnika pamięci masowej INNODB dla tej tabeli.

Przeczytaj bonus:KOLUMNA DODAJ MySQL

MySQL CREATE TABLE z KLUCZEM OBCYM

Stwórzmy nową tabelę w MySQL z ograniczeniem FOREIGN KEY. Utworzymy nową tabelę status_zamówienia z kluczem obcym id_zamówienia który odwołuje się do klucza podstawowego zamówień tabela.

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       |                |
+--------------+--------------+------+-----+---------+----------------+

W powyższym zapytaniu dodajemy ograniczenie klucza obcego za pomocą MySQL ADD FOREIGN KEY

Mamy nadzieję, że teraz możesz łatwo tworzyć tabele w MySQL.

Ubiq ułatwia wizualizację danych w ciągu kilku minut i monitorowanie w pulpitach nawigacyjnych w czasie rzeczywistym. Wypróbuj już dziś!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. „0000-00-00 00:00:00” nie może być reprezentowane jako błąd java.sql.Timestamp

  2. Zabezpieczanie serwera MySQL

  3. Różnica między SELECT INTO i INSERT INTO w MySQL

  4. Formatuj liczbę jako procent w MySQL

  5. Dynamiczne nazwy tabel w funkcji procedury składowanej