SQL sever數(shù)據(jù)庫的三個(gè)主要語句及技巧的詳細(xì)講解
2024-07-16 17:45:51
供稿:網(wǎng)友
 
1.插入數(shù)據(jù) 
  (insert)向表中添加一個(gè)新記錄,你要使用SQL INSERT 語句。這里有一個(gè)如何使用這種語句的例子: INSERT mytable (mycolumn) VALUES (‘some data')  這個(gè)語句把字符串'some data'插入表mytable的mycolumn字段中。將要被插入數(shù)據(jù)的字段的名字在第一個(gè)括號(hào)中指定,實(shí)際的數(shù)據(jù)在第二個(gè)括號(hào)中給出。 
  INSERT 語句的完整句法如下: 
INSERT [INTO] {table_name|view_name} [(column_list)] {DEFAULT VALUES | 
Values_list | select_statement} 
  如果一個(gè)表有多個(gè)字段,通過把字段名和字段值用逗號(hào)隔開,你可以向所有的字段中插入數(shù)據(jù)。假設(shè)表mytable有三個(gè)字段 first_column,second_column,和third_column.下面的INSERT語句添加了一條三個(gè)字段都有值的完整記錄: 
INSERT mytable (first_column,second_column,third_column) 
VALUES (‘some data','some more data','yet more data') 
  注意 
  你可以使用INSERT語句向文本型字段中插入數(shù)據(jù)。但是,如果你需要輸入很長(zhǎng)的字符串,你應(yīng)該使用WRITETEXT語句。 
  如果你在INSERT 語句中只指定兩個(gè)字段和數(shù)據(jù)會(huì)怎么樣呢?換句話說,你向一個(gè)表中插入一條新記錄,但有一個(gè)字段沒有提供數(shù)據(jù)。在這種情況下,有下面的四種可能: 
  如果該字段有一個(gè)缺省值,該值會(huì)被使用。例如,假設(shè)你插入新記錄時(shí)沒有給字段third_column提供數(shù)據(jù),而這個(gè)字段有一個(gè)缺省值 'some value'.在這種情況下,當(dāng)新記錄建立時(shí)會(huì)插入值'some value'. 
  如果該字段可以接受空值,而且沒有缺省值,則會(huì)被插入空值。 
  如果該字段不能接受空值,而且沒有缺省值,就會(huì)出現(xiàn)錯(cuò)誤。你會(huì)收到錯(cuò)誤信息: 
The column in table mytable may not be null. 
  最后,如果該字段是一個(gè)標(biāo)識(shí)字段,那么它會(huì)自動(dòng)產(chǎn)生一個(gè)新值。當(dāng)你向一個(gè)有標(biāo)識(shí)字段的表中插入新記錄時(shí),只要忽略該字段,標(biāo)識(shí)字段會(huì)給自己賦一 個(gè)新值。 
  注意 :向一個(gè)有標(biāo)識(shí)字段的表中插入新記錄后,你可以用SQL變量@@identity來訪問新記錄 的標(biāo)識(shí)字段的值。考慮如下的SQL語句: 
INSERT mytable (first_column) VALUES(‘some value') 
INSERT anothertable(another_first,another_second) 
VALUES(@@identity,'some value') 
  如果表mytable有一個(gè)標(biāo)識(shí)字段,該字段的值會(huì)被插入表anothertable的another_first字段。這是因?yàn)樽兞?@@identity總是保存最后一次插入標(biāo)識(shí)字段的值。 
  字段another_first應(yīng)該與字段first_column有相同的數(shù)據(jù)類型。但是,字段another_first不能是應(yīng)該標(biāo)識(shí)字 段。Another_first字段用來保存字段first_column的值。 
2.刪除記錄 
  要從表中刪除一個(gè)或多個(gè)記錄,需要使用SQL DELETE語句。你可以給DELETE 語句提供WHERE 子句。WHERE子句用來選擇要?jiǎng)h除的記錄。例如,下面的這個(gè)DELETE語句只刪除字段first_column的值等于'Delete Me'的記錄: