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ś!