[SQL] - 簡單的 CRUD資料行

  • 532
  • 0
  • 2021-09-03

對資料行簡易的新增、編輯、刪除 SQL 語法

 INSERT INTO [Northwind].[dbo].[Orders]
 (
	   [CustomerID]
      ,[EmployeeID]
      ,[OrderDate]
 )
 VALUES ('WOLZA', 2, (SELECT xxx 欄位 From 資料表 Where 篩選欄位 = 篩選欄位的值 ))

Insert 

1.如果有需要現在時間的日期欄位可以使用GETDATE()來取得

2.如果是非必填欄位可以省略不新增

3.如果是Identity 欄位值也可以省略不新增

4.新增的欄位值也可以去查詢他表指定的欄位值帶入


UPDATE [Northwind].[dbo].[Orders]
SET [ShipName] = 'Chang', [ShipAddress] = 'Taipei'
WHERE [CustomerID] = 'WOLZA' and [OrderID] = 11098

Update

1.更新時需要有指定的資料格式才能更新

2.如果想更新指定條件的多項欄位值時,在Set的位置用逗號區隔即可

3.如果要找指定多數條件則在where後面加and即可


(X)
DELETE FROM [Northwind].[dbo].[Customers] where [CustomerID] = 'WOLZA'

DELETE 陳述式與 REFERENCE 條件約束 "FK_Orders_Customers" 衝突。衝突發生在資料庫 "Northwind",資料表 "dbo.Orders", column 'CustomerID'。
陳述式已經結束。

(O)
DELETE details
FROM [Northwind].[dbo].[Order Details] details
INNER JOIN [Northwind].[dbo].[Orders] d
ON details.OrderID = d.OrderID
INNER JOIN [Northwind].[dbo].[Customers] c
ON c.CustomerID = d.CustomerID
WHERE c.CustomerID = 'WOLZA'

DELETE FROM [Northwind].[dbo].[Orders] where [CustomerID] = 'WOLZA'
DELETE FROM [Northwind].[dbo].[Customers] where [CustomerID] = 'WOLZA'

Delete

1.刪除一筆資料的話只需指定PK或是相關欄位識別值即可,但如果有資料欄位有被其他表作相依的話

記得要從相依的表先刪除,才能刪除資料,不然就會出現上面的錯誤。(關聯的重要性呀)