DML 資料的增刪修


此篇會簡單介紹如何在資料表內新增、修改及刪除資料,依舊透過 SSMS 管理介面以及 T-SQL 來操作。

  • 新增 Insert
  • 修改 Update
  • 刪除 Delete

開始前先在北風建立 Subject 資料表,資料行定義如下

DDL

USE [Northwind]
GO

CREATE TABLE [dbo].[Subject](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [課程代號] [varchar](10) NOT NULL,
    [課程名稱] [nvarchar](10) NOT NULL,
    [課程教室] [varchar](10) NULL,
 CONSTRAINT [PK_Subject] PRIMARY KEY CLUSTERED 
(
    [ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

透過 SSMS 管理介面來編輯資料相對簡單,對欲編輯的資料表執行右鍵,選擇[編輯前200個資料列],就可在視窗看到該資料表前200筆資料的紀錄,而我們可以透過圖形視窗來執行新增、編輯或刪除的動作等。下列是北風資料庫 Products 資料表的執行結果。


接下來會使用 DML 提供的指令來編輯資料,相關指令有 InsertUpdate & Delete


Insert

想新增一筆資料到資料表內,語法規則如下

INSERT [INTO] 資料表名稱 [(欄位清單)]
[DEFAULT] VALUES [(欄位值清單)]

欄位清單及欄位清值清單要使用逗號來區隔欄位名稱,執行下列指令來新增資料

USE [Northwind]
GO

INSERT INTO [dbo].[Subject]
           ([課程代號]
           ,[課程名稱]
           ,[課程教室])
     VALUES
           ('C3101'
           ,'國文'
           ,'T101')
GO

不使用欄位清單

USE [Northwind]
GO

INSERT INTO [dbo].[Subject]
VALUES ('C3102', '英文', 'T102')
GO

不使用 INTO 關鍵字

USE [Northwind]
GO

INSERT [dbo].[Subject]
VALUES ('C3103', '數學', 'S307')
GO

還可以同時新增兩筆以上紀錄

USE [Northwind]
GO

INSERT [dbo].[Subject]
VALUES 
('C3104', '自然', 'T103'),
('C3105', '社會', 'T104')
GO

Update

使用 Update 指令來更新資料,可以編輯單一欄位或多個欄位,甚至還可以編輯多筆資料內的多個欄位,語法規則如下,同時更新多個欄位可用逗號隔開

UPDATE 資料表名稱
SET 欄位名稱 = 新欄位值 [, 欄位名稱 = 新欄位值 ]
[FROM 資料來源]
[WHERE 更新條件]

將資料表內的特定欄位全部更新為相同的值

USE [Northwind]
GO

UPDATE [dbo].[Subject]
   SET [課程教室] = 'W201'

GO

透過 WHERE 指定要被更新的資料

USE [Northwind]
GO

UPDATE [dbo].[Subject]
   SET [課程教室] = 'W201'
   WHERE ID = 1

GO

Delete

想刪除資料語法如下

DELETE [FROM] 資料表名稱
[FROM 資料來源]
[WHERE 刪除條件]

如果要刪除整張資料表內的資料

USE [Northwind]
GO

DELETE FROM [dbo].[Subject]
GO

如果想刪除特定或多筆資料則要使用 WHERE 來指定刪除條件

USE [Northwind]
GO

DELETE FROM [dbo].[Subject]
WHERE ID = 1
GO

#DML #Insert #Update #Delete #MS SQL
MS SQL 內功心法
MS SQL 基礎介紹及語法教學






Related Posts

如何在 Windows 安裝 OpenPose 跟使用 Python API 來偵測人體姿態

如何在 Windows 安裝 OpenPose 跟使用 Python API 來偵測人體姿態

實作NLog_專案Console

實作NLog_專案Console

[03] JavaScript 入門 - 型別、陣列、物件、函式

[03] JavaScript 入門 - 型別、陣列、物件、函式



Comments