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

SQL DDL 常用語句大全:建立、修改、刪除資料表結構

     編輯:關於SqlServer

建立資料表 (CREATE TABLE)

CREATE TABLE [TableName] (
    [AutoID] INT IDENTITY(1,1) PRIMARY KEY,
    [Field1] NVARCHAR(50) DEFAULT '預設值' NULL,
    [Field2] NTEXT NULL,
    [Field3] DATETIME,
    [Field4] MONEY NULL,
    [Field5] INT DEFAULT 0,
    [Field6] DECIMAL(12,4) DEFAULT 0,
    [Field7] IMAGE NULL
);
  • IDENTITY(1,1):自動遞增種子 1、遞增值 1。
  • NVARCHAR/NTEXT:Unicode 文字,支援多語言。
  • DECIMAL(12,4):總位數 12、小數 4 位,適合金額。

刪除資料表 (DROP TABLE)

DROP TABLE [TableName];

⚠ 永久刪除資料與結構,執行前請確認備份。

資料操作 (DML)

新增資料 (INSERT)

INSERT INTO [TableName] (Field1, Field2) VALUES (100, '51Windows.Net');

刪除資料 (DELETE)

DELETE FROM [TableName] WHERE [FieldName] > 100;

更新資料 (UPDATE)

UPDATE [TableName] SET [Field1] = 200, [Field2] = '51Windows.Net' WHERE [Field3] = 'HAIWA';

修改資料表結構 (ALTER TABLE)

新增欄位

ALTER TABLE [TableName] ADD [ColumnName] NVARCHAR(50) NULL;

刪除欄位

ALTER TABLE [TableName] DROP COLUMN [ColumnName];

修改欄位資料類型/屬性

ALTER TABLE [TableName] ALTER COLUMN [ColumnName] NVARCHAR(50) NULL;

⚠ 修改類型需確保現有資料可隱含轉換,否則會報錯。

重新命名資料表

-- SQL Server
EXEC sp_rename 'OldTableName', 'NewTableName', 'OBJECT';

-- Access 請參考專文:在 Access 中重新命名資料表

約束條件管理

新增 CHECK 約束

ALTER TABLE [TableName] ADD CONSTRAINT CK_ConstraintName CHECK ([ConstraintField] <= '2000-1-1');

刪除約束

ALTER TABLE [TableName] DROP CONSTRAINT ConstraintName;

預設值管理

新增 DEFAULT 約束

ALTER TABLE [TableName] ADD CONSTRAINT DF_DefaultName DEFAULT '51Windows.Net' FOR [ColumnName];

刪除 DEFAULT 約束

ALTER TABLE [TableName] DROP CONSTRAINT DefaultName;

實用技巧與注意事項

  1. 命名慣例:PK_表名、FK_表名_參考表、CK_表名_欄位、DF_表名_欄位、IX_表名_欄位。
  2. 大量資料修改類型:建立新欄位 → 更新資料 → 刪除舊欄位 → 重命名新欄位,避免長時間鎖表。
  3. 刪除欄位前:必須先移除該欄位上的所有索引、預設值、CHECK、FK 參考,否則會失敗。
  4. 生產環境變更:建議在交易中執行,並準備回滾腳本。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved