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

SQL 核心陳述式全攻略:增刪改查與聚合函數

     編輯:關於SqlServer

資料操作語言 (DML) 核心

INSERT - 新增資料

-- 基本語法
INSERT [INTO] {table_name|view_name} [(column_list)] 
{DEFAULT VALUES | values_list | select_statement}

-- 單一資料行
INSERT mytable (mycolumn) VALUES ('some data');

-- 多資料行
INSERT mytable (col1, col2, col3) 
VALUES ('data1', 'data2', 'data3');

缺值處理規則: 有預設值用預設值;允許 NULL 則存 NULL;不允許 NULL 且無預設值報錯;身分識別欄自動產生值。新增後可用 @@IDENTITY 取得最新身分值。

DELETE - 刪除資料

DELETE [FROM] {table_name|view_name} [WHERE clause]

WHERE 條件支援所有 SELECT 可用運算子。警告: 無 WHERE 會刪除全表資料,大量刪除請用 TRUNCATE TABLE(不記錄日誌、速度極快)。

UPDATE - 修改資料

UPDATE {table_name|view_name} 
SET column1=value1, column2=value2...
[WHERE clause]

無 WHERE 會更新全表。長文字更新請用 UPDATETEXT。可單一陳述式更新多欄位。

SELECT INTO - 建立資料備份/子集

-- 複製整表
SELECT * INTO newtable FROM mytable;

-- 指定欄位與條件
SELECT col1, col2 INTO newtable 
FROM mytable WHERE col3 = 'filter';

利用此技巧可繞過 ALTER TABLE 限制:建新表 → 複製資料 → 重命名,實現欄位刪除或資料類型變更。

聚合函數 (Aggregate Functions)

統計資料必備,回傳單一值。ASP 應用中需加別名引用:

SELECT AVG(vote) AS the_average FROM opinion
函數用途範例
COUNT(*)計算列數(含 NULL)SELECT COUNT(*) FROM authors
COUNT(col)計算非 NULL 個數SELECT COUNT(au_lname) FROM authors
COUNT(DISTINCT col)計算不重複值SELECT COUNT(DISTINCT au_lname) FROM authors
AVG(col)數值平均(忽略 NULL)SELECT AVG(vote) FROM opinion
SUM(col)數值總和SELECT SUM(amount) FROM orders
MAX(col)最大值SELECT MAX(vote) FROM opinion
MIN(col)最小值SELECT MIN(vote) FROM opinion

進階技巧

  • SQL 忽略多餘空白,自由排版提升可讀性
  • INSERT...SELECT 可單次複製多筆記錄
  • 善用暫存表簡化複雜查詢邏輯
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved