INSERT INTO 表名稱 VALUES (值1, 值2,....) --插入單條數據,全字段都要有值
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....) --插入單條數據 部分字段,部分值
INSERT INTO table_name (列1, 列2,...) VALUES
(值1, 值2,....),
(值1, 值2,....),
(值1, 值2,....),
(值1, 值2,....)
--插入多條語句
1.INSERT INTO SELECT語句
語句形式為:Insert into Table2(field1,field2,...) select value1,value2,... from Table1
或者:Insert into Table2 select * from Table1
注意:(1)要求目標表Table2必須存在,並且字段field,field2...也必須存在
(2)注意Table2的主鍵約束,如果Table2有主鍵而且不為空,則 field1, field2...中必須包括主鍵
(3)注意語法,不要加values,和插入一條數據的sql混了,不要寫成:
第一種,當要插入的表(Student_back)不存在時
--把表 Student 中性別為 '男' 的學生信息 插入到表 Student_back(不存在) 中
select * into Student_back from Student where S_Sex='男'
未指定具體列,就會自動創建一個跟(Student)一樣的表並把數據插入
指定具體要插入的列就會根據指定的列創建一個表,並把數據插入
2.SELECT INTO FROM語句
語句形式為:SELECT vale1, value2 into Table2 from Table1
要求目標表Table2不存在,因為在插入時會自動創建表Table2,並將Table1中指定字段數據復制到Table2中。
第二種,當要插入的表本身便存在時
--把表 Student 中性別為 '女' 的學生信息 插入到表 Student_back(存在)中
insert into Student_back(S_StuNo,S_Name,S_Sex,S_Height)(新表)
select S_StuNo,S_Name,S_Sex,S_Height from Student(舊表)
where S_Sex='女'
因為字段 S_Id 是標識列,不能有顯示插入的值,所以這里必須指定要插入的列。
摘自:https://blog.csdn.net/qq_21960819/article/details/88778116
https://www.cnblogs.com/piaoyangguoguo/p/8276928.html