透視MySQL資料庫之更新語句

2021-06-01 10:28:06 字數 2116 閱讀 2487

用於運算元據庫的sql一般分為兩種,一種是查詢語句,也就是我們所說的select語句,另外一種就是更新語句,也叫做資料操作語句……

用於運算元據庫的sql一般分為兩種,一種是查詢語句,也就是我們所說的select語句,另外一種就是更新語句,也叫做資料操作語句。言外之意,就是對資料進行修改。在標準的sql中有3個語句,它們是insert、update以及delete。在mysql中又多了乙個replace語句,因此,本文以mysql為背景來討論如何使有sql中的更新語句。

一、insert和replace

insert和replace語句的功能都是向表中插入新的資料。這兩條語句的語法類似。它們的主要區別是如何處理重複的資料。

1. insert的一般用法

mysql中的insert語句和標準的insert不太一樣,在標準的sql語句中,一次插入一條記錄的insert語句只有一種形式。

insert into tablename(列名…) values(列值);

而在mysql中還有另外一種形式。

insert into tablename set column_name1 = value1, column_name2 = value2,…;

第一種方法將列名和列值分開了,在使用時,列名必須和列值的數一致。如下面的語句向users表中插入了一條記錄:

insert into users(id, name, age) values(123, '姚明', 25);

第二種方法允許列名和列值成對出現和使用,如下面的語句將產生中樣的效果。

insert into users set id = 123, name = '姚明', age = 25;

如果使用了set方式,必須至少為一列賦值。如果某乙個字段使用了省缺值(如預設或自增值),這兩種方法都可以省略這些字段。如id欄位上使用了自增值,上面兩條語句可以寫成如下形式:

insert into users (name, age) values('姚明',25);

insert into uses set name = '姚明', age = 25;

mysql在values上也做了些變化。如果values中什麼都不寫,那mysql將使用表中每一列的預設值來插入新記錄。

insert into users () values();

如果表名後什麼都不寫,就表示向表中所有的字段賦值。使用這種方式,不僅在values中的值要和列數一致,而且順序不能顛倒。 insert into users values(123, '姚明', 25);

如果將insert語句寫成如下形式mysql將會報錯。

insert into users values('姚明',25);

2. 使用insert插入多條記錄

看到這個標題也許大家會問,這有什麼好說的,呼叫多次insert語句不就可以插入多條記錄了嗎!但使用這種方法要增加伺服器的負荷,因為,執行每一次sql伺服器都要同樣對sql進行分析、優化等操作。幸好mysql提供了另一種解決方案,就是使用一條insert語句來插入多條記錄。這並不是標準的sql語法,因此只能在mysql中使用。

insert into users(name, age)

values('姚明', 25), ('比爾.蓋茨', 50), ('火星人', 600);

上面的insert 語句向users表中連續插入了3條記錄。值得注意的是,上面的insert語句中的values後必須每一條記錄的值放到一對(…)中,中間使用","分割。假設有乙個表table1

create table table1(n int);

如果要向table1中插入5條記錄,下面寫法是錯誤的:

insert into table1 (i) values(1,2,3,4,5);

mysql將會丟擲下面的錯誤

error 1136: column count doesn't match value count at row 1

而正確的寫法應該是這樣:

insert into t able1(i) values(1),(2),(3),(4),(5);

當然,這種寫法也可以省略列名,這樣每一對括號裡的值的數目必須一致,而且這個數目必須和列數一致。如:

insert into t able1 values(1),(2),(3),(4),(5);

透視MySQL資料庫之更新語句

本文 銀河使者,本文曾發表於天極網 用於運算元據庫的sql一般分為兩種,一種是查詢語句,也就是我們所說的select語句,另外一種就是更新語句,也叫做資料操作語句。言外之意,就是對資料進行修改。在標準的sql中有3個語句,它們是insert update以及delete。在mysql中又多了乙個re...

透視MySQL資料庫之更新語句

用於運算元據庫的sql一般分為兩種,一種是查詢語句,也就是我們所說的select語句,另外一種就是更新語句,也叫做資料操作語句。言外之意,就是對資料進行修改。在標準的sql中有3個語句,它們是insert update以及delete。在mysql中又多了乙個replace語句,因此,本文以mysq...

MySQL批量更新語句

update mytable set myfield case id when 1then value when 2then value when 3then value endwhere id in 1,2,3 例如 update categories set display order case...