Tento tutoriál je součástí série Naučte se základní SQL dotazy pomocí MySQL. V tomto tutoriálu probereme SQL dotazy pro vkládání řádků nebo ukládání dat do tabulky v MySQL.
Vložit do dotazu
Dotaz INSERT INTO lze použít k vložení řádků do tabulky. V případě, že jste vzdáleně přihlášeni k databázi, budete také potřebovat oprávnění INSERT pro tabulku, abyste mohli vkládat řádky do tabulky.
# INSERT INTO - Syntax
INSERT INTO `table_name`(column_1,column_2,...) VALUES (value_1,value_2,...);
Vysvětlení dotazu
Příkaz MySQL INSERT INTO lze použít k vložení řádků do daného názvu tabulky, kde je název tabulky povinný.
Názvy sloupců můžeme zadat ve formátu odděleném čárkou, pokud jsou data řádku uvedena pouze pro vybrané sloupce. V případě, že jsou k dispozici řádková data pro všechny sloupce tabulky v pořadí sloupců, můžeme vynechat zadání sloupců.
Můžeme poskytnout buď
Řetězec - Všechny hodnoty řetězce musíme uzavřít do jednoduchých uvozovek. Můžeme také použít NULL, pokud to definice sloupce umožňuje.
Číselné - Číselné hodnoty by neměly být uzavřeny v uvozovkách. Číselné hodnoty musí být poskytnuty přímo na základě datového typu sloupce.
Datum - Hodnoty data musí být uzavřeny v jednoduchých uvozovkách ve formátu MySQL, tj. 'RRRR-MM-DD'. Můžeme použít všechny nuly jako výchozí hodnotu nebo NULL v případě, že definice sloupce umožňuje hodnoty null.
Datum – Podobně jako u datových hodnot,
Můžete také sledovat Cheatsheet datových typů MySQL, abyste se dozvěděli více o dostupných typech dat v MySQL.
Příklady
Tato část obsahuje příklady vkládacího dotazu pro vložení řádkových dat do tabulky. Pomocí níže uvedeného dotazu vytvořte uživatelskou tabulku se sloupci id, jméno a příjmení pro uložení uživatelských dat.
# Create the User Table
CREATE TABLE `user` (
`user_id` bigint(20) NOT NULL,
`first_name` varchar(45),
`last_name` varchar(45)
);
Níže uvedené dotazy lze použít k vložení dat do uživatelské tabulky pomocí názvů sloupců.
# 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' );
Tyto dotazy vloží do tabulky 6 řádků s ID, jménem a příjmením, které představují 6 různých uživatelů.
Můžeme také vynechat názvy sloupců v případě, že poskytujeme data všech sloupců, jak je uvedeno níže. Při vkládání řádků bez zadání sloupců se musíme postarat o pořadí sloupců.
# 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 );
Při vkládání hodnot řádků můžeme také změnit pořadí sloupců. Jediná věc, kterou je třeba dbát, je, že data řádku musí mít stejné pořadí, jak je uvedeno níže.
# Insert Single Row - All Columns
INSERT INTO `user` ( `first_name`, `last_name`, `user_id` ) VALUES ( 'Bill', 'Waugh', 10 );
Takto můžeme použít příkaz INSERT INTO pro vložení dat do tabulky.