Ten samouczek jest częścią serii Naucz się podstawowych zapytań SQL przy użyciu MySQL. W tym samouczku omówimy zapytania SQL służące do wstawiania wierszy lub przechowywania danych w tabeli w MySQL.
Wstaw do zapytania
Zapytanie INSERT INTO może służyć do wstawiania wierszy do tabeli. Jeśli jesteś zdalnie zalogowany do bazy danych, będziesz potrzebować również uprawnienia INSERT dla tabeli, aby wstawić wiersze do tabeli.
# INSERT INTO - Syntax
INSERT INTO `table_name`(column_1,column_2,...) VALUES (value_1,value_2,...);
Wyjaśnienie zapytania
Polecenie MySQL WSTAW DO może służyć do wstawiania wierszy w podanej nazwie tabeli, gdzie nazwa tabeli jest obowiązkowa.
Możemy podać nazwy kolumn w formacie oddzielonym przecinkami, jeśli dane wiersza są określone tylko dla wybranych kolumn. W przypadku, gdy dane wierszy są podane dla wszystkich kolumn tabeli w kolejności kolumn, możemy pominąć określenie kolumn.
Możemy podać
Ciąg - Wszystkie wartości ciągu znaków musimy ująć w pojedyncze cudzysłowy. Możemy również użyć wartości NULL, jeśli pozwala na to definicja kolumny.
Liczbowy - Wartości liczbowe nie powinny być ujęte w cudzysłów. Wartości liczbowe muszą być podane bezpośrednio w oparciu o typ danych kolumny.
Data - Wartości dat muszą być ujęte w pojedyncze cudzysłowy w formacie MySQL, tj. „RRRR-MM-DD”. Możemy użyć wszystkich zer jako wartości domyślnej lub NULL w przypadku, gdy definicja kolumny dopuszcza wartości null.
Data i godzina - Podobnie do wartości danych,
Możesz również skorzystać z instrukcji MySQL Data Types Cheatsheet, aby dowiedzieć się więcej o dostępnych typach danych w MySQL.
Przykłady
Ta sekcja zawiera przykłady zapytania wstawiającego służącego do wstawiania danych wierszowych do tabeli. Użyj poniższego zapytania, aby utworzyć tabelę użytkowników zawierającą kolumny id, imię i nazwisko do przechowywania danych użytkownika.
# Create the User Table
CREATE TABLE `user` (
`user_id` bigint(20) NOT NULL,
`first_name` varchar(45),
`last_name` varchar(45)
);
Poniższe zapytania mogą być użyte do wstawienia danych do tabeli użytkowników przy użyciu nazw kolumn.
# Insert Single Row - All Columns
INSERT INTO `user` ( `user_id`, `first_name`, `last_name`) VALUES ( 1, 'John', 'Smith' );
# Insert Multiple Rows - All Columns
INSERT INTO `user` ( `user_id`, `first_name`, `last_name`) VALUES
( 2, 'Rick', 'Jones' ),
( 3, 'Catherine', 'Ponting' ),
( 4, 'Harsh', 'Upadhyay' ),
( 5, 'Tajwinder', 'Singh' );
# Insert Single Row - Selected Columns - NULL for last_name
INSERT INTO `user` ( `user_id`, `first_name`) VALUES ( 6, 'Leo' );
Zapytania te wstawią do tabeli 6 wierszy z identyfikatorem, imieniem i nazwiskiem reprezentujących 6 różnych użytkowników.
Możemy również pominąć nazwy kolumn w przypadku podania danych wszystkich kolumn, jak pokazano poniżej. Musimy zadbać o kolejność kolumn podczas wstawiania wierszy bez określania kolumn.
# Insert Single Row - All Columns
INSERT INTO `user` VALUES ( 7, 'Leo', 'Murphy' );
# Insert Multiple Rows - All Columns
INSERT INTO `user` VALUES
( 8, 'Ram', 'Choudhary' ),
( 9, 'Nicole', NULL );
Możemy również zmienić kolejność kolumn podczas wstawiania wartości wierszy. Jedyną rzeczą, na którą należy zwrócić uwagę, jest to, że dane wierszy muszą być również zgodne z kolejnością pokazaną poniżej.
# Insert Single Row - All Columns
INSERT INTO `user` ( `first_name`, `last_name`, `user_id` ) VALUES ( 'Bill', 'Waugh', 10 );
W ten sposób możemy użyć polecenia INSERT INTO, aby wstawić dane do tabeli.