首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 資料表建立、修改與刪除核心語法速查

     編輯:關於SqlServer

資料定義語言 (DDL) 是資料庫結構管理的基礎。本文整理 CREATE TABLE、ALTER TABLE、DROP TABLE 的核心語法與常用選項,包含主鍵、非空、唯一、自動遞增等約束定義,以及欄位新增、刪除、修改的實戰範例。

一、建立資料表 (CREATE TABLE)

完整範例:包含主鍵、非空、唯一、IDENTITY

-- 指定使用資料庫
USE TestDB;

-- 建立資料表
CREATE TABLE TableName
(
    -- id: 整數、主鍵、非空、自動遞增 (種子=1, 遞增=1)
    id INT PRIMARY KEY NOT NULL IDENTITY(1,1),

    -- name: 變長字串、非空、唯一
    name VARCHAR(20) NOT NULL UNIQUE
);

關鍵字說明:

  • PRIMARY KEY:主鍵約束,隱含 NOT NULL 與 UNIQUE。
  • IDENTITY(1,1):種子值 1,每次遞增 1。
  • UNIQUE:唯一約束,允許一個 NULL 值。

二、刪除資料表 (DROP TABLE)

DROP TABLE 表名;

警告: 操作不可逆,會同時刪除資料、索引、觸發器、約束與權限設定。

三、修改資料表結構 (ALTER TABLE)

1. 新增欄位

ALTER TABLE 表名
ADD 欄位名 資料型別 [約束條件];

2. 刪除欄位

ALTER TABLE 表名
DROP COLUMN 欄位名;

限制: 參與主鍵、外鍵、預設值、CHECK 約束的欄位無法直接刪除,需先移除相關約束。

3. 修改欄位資料型別

ALTER TABLE 表名
ALTER COLUMN 欄位名 新資料型別;

注意事項:

  • 資料型別變更需確保現有資料可隱含轉換,否則報錯。
  • 縮小字串長度或數值精度可能導致資料截斷。
  • 大量資料表修改型別會鎖定資料表,建議維護時段執行。

進階技巧

  • 使用 sp_rename 重新命名資料表或欄位:EXEC sp_rename '舊表名', '新表名';
  • 新增欄位時指定 DEFAULT 值可避免既有資料列為 NULL。
  • 透過 INFORMATION_SCHEMA.COLUMNS 查詢欄位定義資訊。

掌握 DDL 核心語法,能快速建立符合業務需求的資料庫結構,並安全地進行結構變更管理。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved