下面兩個表用於解釋sql腳本。
Insert into有兩種語法,如下所示:
語法1:插入到?表名?值(值1,值2,值3,...);??-此表單不需要指定插入數據的列名,只需提供插入的值:
語法2:插入到?表名?(列1,列2,列3,...)值(值1,值2,值3,...);-此表單需要指定要插入數據的列名,插入的值需要與列名壹壹對應:
例如:插入到客戶值中(‘1006’‘14006’‘王新新’‘27’‘深圳’);?-向客戶表中插入壹段數據。
例如:插入客戶值(‘1007’,‘14007’,‘孟依繁’,‘27’,‘‘);?-向客戶表中插入壹段數據。如果最後壹個值未填充,則意味著相應的值為空,並且您不需要為非必填項插入值。
例如:插入到客戶(cus _ id,cus _ no,cus _ name,cus _ age,cus _ adds)值(‘1008’,‘14008’,‘孔繁’,‘26’,‘廣州’”。?-向表customer中插入壹條數據,插入的值與列名壹壹對應。
insert into select-表示從表中復制數據,然後將數據插入現有的表中。目標表中的任何現有行都不會受到影響。
語法1:插入到?表名2?選擇?*來自?table _ name 1;?-表示將table_name1中所有復制列的數據插入到現有表table_name2中。插入數據的表是table_name2,所以不要混淆。
例如:插入asett的客戶選擇?-將表asett中所有列的數據插入到表customer中。
語法2:插入到?表名2?(列名)?選擇?列名?從哪裏?table _ name 1;?-指定要復制的列,僅復制指定的列並將它們插入另壹個現有表table_name2:
例如:insert into customer(cus _ id,cus _ no)select ast _ id,ast_no from asett?-將表asett中列ast_id和ast_no的數據插入到與表customer對應的列cus_id和cus_no中。
從壹個表中復制數據,然後將數據插入另壹個新表中。
語法1: select * into?newtable?【在嗎?externaldb】來自?table 1;-復制所有列並將其插入新表中:
例:選擇*進入?客戶來自?阿塞特。-將asett表中的數據插入客戶,而插入的表客戶不存在。
例:選擇*進入?客戶來自?Asett其中ast _ ID =‘1008‘-只有表asett中ast_id=1008的數據被復制並插入到customer中,插入的表customer不存在。
語法2: select?列名?變成?newtable?【在嗎?externaldb】來自?table 1;??-僅復制指定的列並將其插入新表中:
例:select ast_id,ast_no into?客戶?從哪裏?阿塞特。-將asett表中ast _ id和ast _ no的數據插入到customer中,插入的表customer不存在。
差異1:插入到customer select * from asett where ast _ ID =‘1009‘-插入壹行,並詢問表customer?必須存在
區別二:選擇*成客戶?阿塞特送的。其中ast _ ID =‘1009‘-還插入壹行,詢問表customer。不存在的
區別三:select into from?:將查詢到的數據復制到新表中並保存。表結構與查詢結構壹致。
區別四:插入select?:為現有表格批量添加新數據。