MySQL基礎(6) 插入資料 更新和刪除資料

2021-08-03 08:39:30 字數 2792 閱讀 7691

本篇主要整理除select之外的3個經常使用的sql語句。

1、插入完整的行

例項1:

insert語句需要指定表名和被插入到新行中的值(values)。

insert語句一般不會產生輸出

第一列cust_id也為null,是因為每次插入乙個新行時,該列由mysql自動增量。你不想給出乙個值(這是mysql的工作),又不能省略此列(如前所述,必須給出每個列),所以指定乙個null值(它被mysql忽略,mysql在這裡插入下乙個可用的cust_id值)。雖然這種語法很簡單,但並不安全,應該盡量避免使用。

例項2:

該方法編寫insert語句更安全

在插入行時,mysql將用values列表中的相應值填入列表中的對應項。values中的第乙個值對應於第乙個指定的列名。第二個值對應於第二個列名,如此等等。因為提供了列名,values必須以其指定的次序匹配指定的列名,不一定按各個列出現在實際表中的次序。其優點是,即使表的結構改變, 此insert語句仍然能正確工作。你會發現cust_id的null值是不必要的,cust_id列並沒有出現在列表中,所以不需要任何值。

如果不提供列名,則必須給每個表列提供乙個值。如果提供列名,則必須對每個列出的列給出乙個值。如果不這樣,將產生一條錯誤訊息,相應的行插入不成功。

注意:省略的列必須滿足以下某個條件:

1. 該列定義為允許null值(無值或空值)。

2. 在表定義中給出預設值。這表示如果不給出值,將使用預設值。

2、插入多行

如果想要插入多個行,可以使用多條insert語句,甚至一次提交它們,每條語句用乙個分號結束;或者,只要每條insert語句中的列名(和次序)相同,可以在其中單條insert語句中插入多組值,每組值用一對圓括號括起來, 用逗號分隔。

例項:

mysql用單條insert語句處理多個插入比使用多條insert語句快。

3、插入某些查詢的結果

例項:

這裡主要使用的是列的位置,即select中的第一列(不管其列名)將用來填充表列中指定的第乙個列,第二列將用來填充表列中指定的第二個列,如此等等。這對於從使用不同列名的表中匯入資料是非常有用的。

insert select中select語句可包含where子句以過濾插入的資料

1、更新資料

update語句由3部分組成:要更新的表、列名和它們的新值以及確定要更新行的過濾條件

在更新多個列時,只需要使用單個set命令,每個「列=值」對之間用逗號分隔(最後一列之後不用逗號)。

如果用update語句更新多行,並且在更新這些行中的一行或多行時出乙個現錯誤,則整個update操作被取消 (錯誤發生前更新的所有行被恢復到它們原來的值)。若要即使是發生錯誤,也繼續進行更新,可使用ignore關鍵字。

為了刪除某個列的值,可設定它為null(假如表定義允許null值)。

例項2:

2、刪除資料

例項1:

delete不需要列名或萬用字元。delete刪除整行而不是刪除列。為了刪除指定的列,請使用update語句

delete語句從表中刪除行,甚至是刪除表中所有行。但是,delete不刪除表本身

如果想從表中刪除所有行,不要使用delete。可使用truncate table語句,它完成相同的工作,但速度更 快(truncate實際是刪除原來的表並重新建立乙個表,而不是逐行刪除表中的資料)

注意:

1. 如果省略了where子句,則update或delete將被應用到表中所有的行。換句話說,如果執行update而不帶where子句,則表中每個行都將用新值更新。類似地,如果執行delete語句而不帶where子句,表的所有資料都將被刪除。

2. 保證每個表都有主鍵,盡可能像where子句那樣使用它(可以指定各主鍵、多個值或值的範圍)。

3. 在對update或delete語句使用where子句前,應該先用select進行測試,保證它過濾的是正確的記錄,以防編寫的where子句不正確。

4. 使用強制實施引用完整性的資料庫,這樣mysql將不允許刪除具有與其他表相關聯的資料的行

Mysql基礎知識 插入 更新和刪除資料

mysql 插入 更新和刪除資料 1.插入資料 1 為表的所有欄位或指定字段插入資料 insert into 表名 values 值1,值1,insert into 表名 屬性名1,屬性名2,屬性名m values 值1,值2,值m 2 同時插入多條記錄 insert into 表名 屬性名1,屬性...

MySQL(九)插入 更新和刪除

常用的sql語句,除了select用於查詢,還有insert update delete等。一 insert insert 用來插入 或新增 行到資料庫中,常見方式有以下幾種 插入完整的行 插入行的一部分 插入多行 插入某些查詢的結果 1 插入完整的行 例如 insert into usertabl...

MySQL插入資料與更新和刪除資料 md

20章 更新和刪除資料 利用mysql中insert語句插入資料 此前章節一直使用select語句,但還有三個經常使用的sql語句需要掌握 insert update和delete 插入的幾種形式,1.插入完整行 2.插入行的部分資料 3.插入多行 4.插入某些查詢的結果 注意,由於mysql的安全...