一、單表新增數據
單表新增數據是SQL中最基本的操作。首先,我們需要指定表名和要插入的列名和對應的值,如下:
INSERT INTO 表名 (列1, 列2, 列3) VALUES (值1, 值2, 值3);
例如,我們有一個學生表student,有id、name、age和gender四個字段,我們要向其中新增一個學生,可以這樣寫:
INSERT INTO student (id, name, age, gender) VALUES (1, '張三', 18, '男');
這樣就向student表中新增了一條數據。
二、批量新增數據
有時候我們需要一次性向表中插入多條數據,這個時候可以使用INSERT INTO SELECT語句。首先,我們需要將要插入的數據以SELECT語句的形式列出,然後將其插入到目標表中。
例如,我們有一個學生表student,有id、name、age和gender四個字段,我們要向其中新增多個學生,可以這樣寫:
INSERT INTO student (id, name, age, gender) SELECT 2, '李四', 19, '女' UNION ALL SELECT 3, '王五', 20, '男' UNION ALL SELECT 4, '趙六', 18, '女';
這樣就向student表中新增了三條數據。
三、新增數據時使用默認值
有時候,我們的表中可能有一些字段定義了默認值,這些字段在插入數據時可以不指定值。例如,我們在student表中新增一條數據,但是不指定id值,表中定義了id字段的默認值為自增長,則可以這樣寫:
INSERT INTO student (name, age, gender) VALUES ('張三', 18, '男');
這樣就向student表中新增了一條數據,id字段的值會自動增加。
四、新增數據時使用子查詢
有時候我們需要將一張表中的數據插入到另一張表中,這個時候可以使用INSERT INTO SELECT子查詢語句。例如,我們有一個學生表student1,有id、name、age和gender四個字段,我們需要將student1表中的所有學生插入到student2表中,則可以這樣寫:
INSERT INTO student2 (id, name, age, gender) SELECT id, name, age, gender FROM student1;
這樣就將student1表中的所有學生插入到student2表中。
五、新增數據時返回自動生成的ID
在有些場景下,我們需要新增數據之後立即獲取自動生成的ID值,這個時候可以使用LAST_INSERT_ID()函數。例如,我們向student表中新增一條數據,並且需要立即獲取自動生成的id值,可以這樣寫:
INSERT INTO student (name, age, gender) VALUES ('張三', 18, '男'); SELECT LAST_INSERT_ID();
執行完INSERT INTO語句之後,LAST_INSERT_ID()函數將返回自動生成的id值。
原創文章,作者:NRZW,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/138438.html