SQL Server 表的管理_關於資料增刪查改的操作的詳解(案例程式碼)-DML
1、SQL INSERT INTO 語句(在表中插入)
INSERT INTO 語句用於向表中插入新記錄。
SQL INSERT INTO 語法
INSERT INTO 語句可以用兩種形式編寫。
第一個表單沒有指定要插入資料的列的名稱,只提供要插入的值:
INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);
如果要為表中的所有列新增值,則不需要在SQL查詢中指定列名稱。但是,請確保值的順序與表中的列順序相同。INSERT INTO語法如下所示:
INSERT INTO table_name VALUES (value1, value2, value3, ...);
演示資料庫
以下是”Customers” 表中的資料:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
87 | Wartian Herkku | Pirkko Koskitalo | Torikatu 38 | Oulu | 90110 | Finland |
88 | Wellington Importadora | Paula Parente | Rua do Mercado, 12 | Resende | 08737-363 | Brazil |
89 | White Clover Markets | Karl Jablonski | 305 – 14th Ave. S. Suite 3B | Seattle | 98128 | USA |
90 | Wilman Kala | Matti Karttunen | Keskuskatu 45 | Helsinki | 21240 | Finland |
91 | Wolski | Zbyszek | ul. Filtrowa 68 | Walla | 01-012 | Poland |
INSERT INTO 例項程式碼
假設我們想在”Customers”表中插入一個新行。
我們可以使用以下SQL語句:
例項
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country) VALUES (`Cardinal`,`Tom B. Erichsen`,`Skagen 21`,`Stavanger`,`4006`,`Norway`);
現在,選自 “Customers” 表的資料如下所示:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
87 | Wartian Herkku | Pirkko Koskitalo | Torikatu 38 | Oulu | 90110 | Finland |
88 | Wellington Importadora | Paula Parente | Rua do Mercado, 12 | Resende | 08737-363 | Brazil |
89 | White Clover Markets | Karl Jablonski | 305 – 14th Ave. S. Suite 3B | Seattle | 98128 | USA |
90 | Wilman Kala | Matti Karttunen | Keskuskatu 45 | Helsinki | 21240 | Finland |
91 | Wolski | Zbyszek | ul. Filtrowa 68 | Walla | 01-012 | Poland |
92 | Cardinal | Tom B. Erichsen | Skagen 21 | Stavanger | 4006 | Norway |
僅在指定的列中插入資料
我們還可以只在指定的列中插入資料。
以下SQL語句插入一個新行,但只在“CustomerName”、“City”和“Countryn”列中插入資料(CustomerID欄位將自動更新):
例項
INSERT INTO Customers (CustomerName, City, Country) VALUES (`Cardinal`, `Stavanger`, `Norway`);
現在,選自 “Customers” 表的資料如下所示:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
87 | Wartian Herkku | Pirkko Koskitalo | Torikatu 38 | Oulu | 90110 | Finland |
88 | Wellington Importadora | Paula Parente | Rua do Mercado, 12 | Resende | 08737-363 | Brazil |
89 | White Clover Markets | Karl Jablonski | 305 – 14th Ave. S. Suite 3B | Seattle | 98128 | USA |
90 | Wilman Kala | Matti Karttunen | Keskuskatu 45 | Helsinki | 21240 | Finland |
91 | Wolski | Zbyszek | ul. Filtrowa 68 | Walla | 01-012 | Poland |
92 | Cardinal | null | null | Stavanger | null | Norway |
2、SQL Delete 語句(刪除表中的記錄)
DELETE語句用於刪除表中現有記錄。
SQL DELETE 語句
DELETE 語句用於刪除表中的行。
SQL DELETE 語法
DELETE FROM table_name WHERE condition;
以下是 “Customers” 表中的資料:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
SQL DELETE 例項程式碼
假設我們想從”Customers” 表中刪除客戶“Alfreds Futterkiste”。
我們使用以下SQL語句:
例項
DELETE FROM Customers WHERE CustomerName=`Alfreds Futterkiste`;
現在,”Customers” 表如下所示:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
刪除所有資料
您可以刪除表中的所有行,而不需要刪除該表。這意味著表的結構、屬性和索引將保持不變:
DELETE FROM table_name;
或者
DELETE * FROM table_name;
注意:在沒有備份的情況下,刪除記錄要格外小心!因為你刪除了不能重複!
3、SQL UPDATE 語句(更新表中的記錄)修改
UPDATE 語句用於更新表中的現有記錄。
SQL UPDATE 語句
UPDATE 語句用於更新表中已存在的記錄。
SQL UPDATE 語法
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
演示資料庫
以下是 “Customers” 表中的資料:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
SQL UPDATE 例項
以下SQL語句為第一個客戶(CustomerID = 1)更新了“CustomerName”和“City”:
例項
UPDATE Customers SET ContactName = `Alfred Schmidt`, City= `Frankfurt` WHERE CustomerID = 1;
現在,選自 “Customers” 表的資料如下所示:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Alfred Schmidt | Obere Str. 57 | Frankfurt | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
更新多個記錄
WHERE子句決定了將要更新的記錄數量。
以下SQL語句將把國家/地區為”Mexico”的所有記錄的聯絡人姓名更新為“Juan”:
UPDATE Customers SET ContactName=`Juan` WHERE Country=`Mexico`;
“Customers”表中的選擇現在看起來像這樣:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Alfred Schmidt | Obere Str. 57 | Frankfurt | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Juan | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Juan | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
Update 警告!
更新記錄時要小心。如果您省略WHERE子句,所有記錄將被更新!
UPDATE Customers SET ContactName=`Juan`;
“Customers” 表將如下所示:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Juan | Obere Str. 57 | Frankfurt | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Juan | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Juan | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Juan | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Juan | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
關於檢視比較複雜,後面詳細再說吧!!!