插入可用以下方式進行:
1.插入完整行。
2.插入行的一部分。
3.插入多行。
4.插入某些查詢的結果。
可針對每個表或每個使用者,利用mysql的安全機制禁止使用insert語句。
插入語句沒有輸出。
插入完整的行:
insert
into tablename
values
(fieldsvaluelist)
;
插入完整行時,每個欄位的值都要出現,如果某個列沒有值且表允許該列為空值,則使用null值。列值必須以它們在表定義**現的順序填充。
如果某列是自動增長的,那麼填入null時mysql會填入自動增長後的值。
上面這種形式的語句不安全,高度依賴於表中列的定義次序,下次表結構變動後必須改寫sql。
更安全的寫法:
insert
into tablename(fieldlist)
values
(fieldvaluelist)
;
這種寫法的字段值順序要與字段順序一致,其優點是即使表的結構改變,插入也能正確工作。這種寫法不用出現自增列,它不需要值也能自增。
應該總是使用第二種方式插入資料,它更安全。
使用列的列表插入資料時,可以省略某些列:
1.允許為null的列。
2.有預設值的列。
insert操作可能很耗時(尤其是有很多索引需要更新時),如果資料檢索是最重要的,可以降低insert語句的優先順序,使得多個請求到來時優先處理其他請求(如資料檢索):
insert low_priority into
這也適用於update和delete語句。
插入多條資料:
insert
into tablename(fieldlist)
values
(fieldvaluelist1)
,(fieldvaluelist2)
;
用單條insert語句處理多個插入比使用多條insert語句快。
從表中讀取行插入到另乙個表中:
insert
into tablename1(fieldlist1)
select fieldlist2
from tablename2;
# 還可新增where過濾資料
檢索出的fieldlist2中的列值按順序匹配給fieldlist1中的列。fieldlist1和fieldlist2中相匹配的列名不一定相同。 《MySQL必知必會》學習筆記
本人在初學mysql語言,因害怕忘記,故把學習筆記寫到這個部落格上,以備查閱 所有種類的程式語言,文字編輯器,作業系統等都支援正規表示式。有見識的程式設計師和網路管理員已經關注作為他們技術工具重要內容的正規表示式很長時間了。正規表示式使用正規表示式語言建立,與任意語言一樣,正規表示式具有你必須學習的...
《MySQL必知必會》學習筆記
學習sql不是為了用它來幹活,只是出於興趣對它進行簡單的了解,寫下這篇學習筆記的目的也很簡單 幫助自己記憶。本次的學習筆記機遇linux centos 7 和mariadb。yum install mariadb mariadb server systemctl start mariadb syst...
mysql必知必 SQL必知必會學習筆記 一
資料庫基礎 資料庫 資料庫軟體 確切的說,資料庫軟體應稱為資料庫管理系統 dbms 資料庫是通過dbms建立和操作的容器 資料庫相當於檔案櫃 容器 表相當於檔案 同乙個資料庫不能存在相同的表名,不同的資料庫可以存在相同的表名 主鍵應滿足的條件 唯一性非空性 not null 主鍵列中的值不允許修改或...