CREATE TABLE user_info_No1 (
usrName VARCHAR(20),
area VARCHAR(20),
phone VARCHAR(20)
);
| 操作 | 語法 |
|---|---|
| 加入身分識別欄 (種子 1000, 步長 1) | ALTER TABLE t ADD userId INT IDENTITY(1000,1); |
| 刪除欄位 | ALTER TABLE t DROP COLUMN userId; |
| 修改欄位型別/長度 | ALTER TABLE t ALTER COLUMN userName VARCHAR(30); |
| 新增欄位 | ALTER TABLE t ADD userName VARCHAR(20); |
-- 單筆
INSERT INTO user_info_No1 (userName, area, phone)
VALUES (N'張三', N'深圳', '15899885858');
-- 多筆 (UNION ALL 技巧,SQL 2000 相容)
INSERT INTO user_info_No1 (userName, area, phone)
SELECT N'李四', N'佛山', '13988877321' UNION ALL
SELECT N'王五', N'廣州', '13987775256' UNION ALL
SELECT N'小周', N'深圳', '13893773528';
-- SQL 2008+ 可用 VALUES (..., ...), (..., ...)
-- 各地區筆數
SELECT area, COUNT(*) AS cnt FROM user_info_No1 GROUP BY area;
-- 特定地區筆數
SELECT COUNT(*) AS 深圳筆數 FROM user_info_No1 WHERE area = N'深圳';
-- 依另一表更新
UPDATE a SET a.col = b.col
FROM tableA a JOIN tableB b ON a.id = b.id;
-- 刪除存在於另一表的資料
DELETE FROM a WHERE EXISTS (SELECT 1 FROM b WHERE b.id = a.id);
BEGIN TRAN;
UPDATE ...;
INSERT ...;
IF @@ERROR <> 0 ROLLBACK TRAN ELSE COMMIT TRAN;
掌握這些基礎操作,應付 90% 日常開發需求無虞。