SQL插入資料的幾種方式

2021-07-01 20:24:28 字數 1446 閱讀 5682

insert 用來將行插入(或新增)到資料庫表。插入有幾種方式:

1.1 插入完整的行

儲存到表中每一列的資料在values 子句中給出,必須給每一列提供乙個值。如果某列沒有值,則應該使用null 值(假定表允許對該列指定空值)。各列必須以它們在表定義中出現的次序填充。基本的insert 語法:

使用上面的語法雖然簡單,但是並不安全,應該盡量避免使用。因為上面的sql語句依賴於表中列定義的順序,還依賴於其獲得的次序資訊,即使可以得到這種次序資訊,也不能保證各列在下一次表結構變動後保持完全相同的次序。因此,不建議編寫依賴於特定列次序的sql。

更可靠的版本(也更繁瑣)如下:

不要使用沒有明確給出列的insert 語句。給出列能使sql **繼續發揮作用,即使表結構發生了變化。

1.2 插入部分行

使用insert 的推薦方法是明確給出表的列名。使用這種語法,還可以省略列,這表示可以只給某些列提供值,給其他列不提供值。

注意:省略列

如果表的定義允許,則可以在insert 操作中省略某些列。省略的列必須滿足以下某個條件:

1.3 插入檢索出的資料

insert語句可以將select 語句的結果插入表中,這就是所謂的insert select。

假如把另一表中的顧客列合併到customers 表中,不需要每次讀取一行再將它用insert 插入,可以如下進行:

insert 通常只插入一行。要插入多行,必須執行多個insert 語句。insert select 是個例外,它可以用一條insert 插入多行,不管select語句返回多少行,都將被insert 插入。

使用select into將資料複製到乙個新錶(有的dbms 可以覆蓋已經存在的表,這依賴於所使用的具體dbms)。看下面的示例:

1

select*2

into custcopy

3from customers;

上面的語句建立乙個名為custcopy 的新錶,並把customers 表的整個內容複製到新錶中。因為這裡使用的是select *,所以將在custcopy 表中建立(並填充)與customers 表的每一列相同的列

注意事項

SQL查詢的幾種方式

1 左連線 left join 或者 left outer join 2 左連線 table a表資料全部顯示,table b根據條件匹配table a 匹配上顯示,否則顯示null 3 select from table a 4 select from table b 5 select from ...

優化SQL的幾種方式

優化的目的 1 盡量保證索引能正確使用。2 盡量避免全域性搜尋。3 索引不是越多越好。方式 1 對查詢進行優化,應盡量避免全表掃瞄,首先應考慮在 where 及 order by 涉及的列上建立索引 2 應盡量避免在 where 子句中對字段進行 null 值判斷,否則將導致引擎放棄使用索引而進行全...

sql優化的幾種方式

一.為什麼要進行sql優化 我們開發專案上線初期,由於業務資料量相對較少,一些sql的執行效率對程式執行效率的影響不太明顯,而開發和運維人員也無法判斷sql對程式的執行效率有多大,故很少針對sql進行專門的優化,而隨著時間的積累,業務資料量的增多,sql的執行效率對程式的執行效率的影響逐漸增大,此時...