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