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

SQL 基礎教程(二):建表、插入、更新、刪除資料與刪除表的完整語法與範例

     編輯:關於SqlServer

1. 建立資料表 (CREATE TABLE)

基本語法

CREATE TABLE "table_name" (
    "column1" "data_type" [constraint],
    "column2" "data_type" [constraint],
    ...
    "columnN" "data_type" [constraint]
);

範例

CREATE TABLE employee (
    first_name  VARCHAR(15),
    last_name   VARCHAR(20),
    age         NUMBER(3),
    address     VARCHAR(30),
    city        VARCHAR(20),
    state       VARCHAR(20)
);

命名規則

  • 以字母開頭,後續可含字母、數字、底線,長度 ≤ 30 字元。
  • 避免使用 SQL 保留字 (SELECT, INSERT, CREATE 等)。

常用資料類型

常見約束

  • NOT NULL:欄位不可為空
  • PRIMARY KEY:主鍵,唯一識別每列
  • UNIQUE:唯一值
  • CHECK (condition):自訂驗證規則
  • FOREIGN KEY:外鍵參考

2. 插入資料 (INSERT)

INSERT INTO "table_name" (col1, col2, ...) VALUES (val1, val2, ...);

範例

INSERT INTO employee (first_name, last_name, age, address, city)
VALUES ('Luke', 'Duke', 45, '2130 Boars Nest', 'Hazard Co');

-- 中文資料
INSERT INTO employee (first_name, last_name, age, address, city)
VALUES ('Zhang', 'Weiguo', 28, '北京601信箱', '北京');
  • 字串/日期常值必須用單引號括住,數值直接書寫。
  • 欄位順序與 VALUES 順序必須一一對應。

3. 更新資料 (UPDATE)

UPDATE "table_name"
SET col1 = new_val1 [, col2 = new_val2 ...]
WHERE condition;

範例

-- 單欄位更新
UPDATE phone_book SET area_code = 623 WHERE prefix = 979;

-- 多欄位更新
UPDATE phone_book 
SET last_name = 'Smith', prefix = 555, suffix = 9292 
WHERE last_name = 'Jones';

-- 運算式更新 (年齡 +1)
UPDATE employee 
SET age = age + 1 
WHERE first_name = 'Mary' AND last_name = 'Williams';

4. 刪除資料 (DELETE)

DELETE FROM "table_name" WHERE condition;

範例

-- 刪除特定姓氏
DELETE FROM employee WHERE last_name = 'May';

-- 刪除多重條件 (OR)
DELETE FROM employee WHERE first_name = 'Mike' OR first_name = 'Eric';

-- ⚠️ 危險:無 WHERE 將刪除全表資料 (結構保留)
DELETE FROM employee;

5. 刪除資料表 (DROP TABLE)

DROP TABLE "table_name";

DROP vs DELETE 差異

類型說明
CHAR(size)固定長度字串,最大 255 位元組
VARCHAR(size)變動長度字串,最大由 size 指定
NUMBER(size)整數,最大位數 size
NUMBER(size, d)定點數,總位數 size,小數位 d
DATE日期時間
操作影響範圍
DELETE FROM table刪除所有資料列,保留表結構、索引、約束、權限
DROP TABLE table徹底移除表定義、所有資料、索引、約束、權限、觸發器等中繼資料

練習題

  1. Jonnie Weber 改嫁 Bob Williams,將 last_name 改為 'Weber-Williams'。
  2. Dirk Smith 生日到,age +1。
  3. 所有職稱 'Secretary' 改為 'Administrative Assistant'。
-- 參考答案
UPDATE employee SET last_name = 'Weber-Williams' WHERE first_name = 'Jonnie' AND last_name = 'Weber';
UPDATE employee SET age = age + 1 WHERE first_name = 'Dirk' AND last_name = 'Smith';
UPDATE employee SET title = 'Administrative Assistant' WHERE title = 'Secretary';
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved