SQL中INSERT語句的使用技巧
在SQL數(shù)據(jù)庫操作中,插入是最常用的操作之一,下面就為您介紹SQL語句中INSERT語句使用的一些技巧,供您參考,希望對您有所啟迪。
(insert)向表中添加一個新記錄,你要使用SQL INSERT 語句。這里有一個如何使用這種語句的例子: INSERT mytable (mycolumn) VALUES (‘some data') 這個語句把字符串'some data'插入表mytable的mycolumn字段中。將要被插入數(shù)據(jù)的字段的名字在第一個括號中指定,實際的數(shù)據(jù)在第二個括號中給出。
INSERT 語句的完整句法如下:
INSERT [INTO] {table_name|view_name} [(column_list)] {DEFAULT VALUES |
Values_list | select_statement}
如果一個表有多個字段,通過把字段名和字段值用逗號隔開,你可以向所有的字段中插入數(shù)據(jù)。假設(shè)表mytable有三個字段first_column,second_column,和third_column.下面的INSERT語句添加了一條三個字段都有值的完整記錄:
INSERT mytable (first_column,second_column,third_column)
VALUES (‘some data','some more data','yet more data')
注意
你可以使用INSERT語句向文本型字段中插入數(shù)據(jù)。但是,如果你需要輸入很長的字符串,你應(yīng)該使用WRITETEXT語句。
如果你在INSERT 語句中只指定兩個字段和數(shù)據(jù)會怎么樣呢?換句話說,你向一個表中插入一條新記錄,但有一個字段沒有提供數(shù)據(jù)。在這種情況下,有下面的四種可能:
如果該字段有一個缺省值,該值會被使用。例如,假設(shè)你插入新記錄時沒有給字段third_column提供數(shù)據(jù),而這個字段有一個缺省值'some value'.在這種情況下,當(dāng)新記錄建立時會插入值'some value'.
如果該字段可以接受空值,而且沒有缺省值,則會被插入空值。
如果該字段不能接受空值,而且沒有缺省值,就會出現(xiàn)錯誤。你會收到錯誤信息:
The column in table mytable may not be null.
最后,如果該字段是一個標(biāo)識字段,那么它會自動產(chǎn)生一個新值。當(dāng)你向一個有標(biāo)識字段的表中插入新記錄時,只要忽略該字段,標(biāo)識字段會給自己賦一個新值。
注意 :向一個有標(biāo)識字段的表中插入新記錄后,你可以用SQL變量@@identity來訪問新記錄 的標(biāo)識字段的值??紤]如下的SQL語句:
INSERT mytable (first_column) VALUES(‘some value')
INSERT anothertable(another_first,another_second)
VALUES(@@identity,'some value')
如果表mytable有一個標(biāo)識字段,該字段的值會被插入表anothertable的another_first字段。這是因為變量@@identity總是保存最后一次插入標(biāo)識字段的值。
字段another_first應(yīng)該與字段first_column有相同的數(shù)據(jù)類型。但是,字段another_first不能是應(yīng)該標(biāo)識字段。Another_first字段用來保存字段first_column的值。
【編輯推薦】