首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Oracle 常用 SQL 語法與數據對象完整指南

     編輯:Oracle 資料庫相關知識

一、數據操作語言 (DML) 核心語句

1. INSERT 插入數據

基本語法支援單行插入與子查詢插入:

INSERT INTO 表名 (欄位1, 欄位2, ...) VALUES (值1, 值2, ...);
INSERT INTO 表名 (欄位1, 欄位2, ...) SELECT 欄位1, 欄位2, ... FROM 其他表;

關鍵注意事項:

  • 字串值必須用單引號括起,單引號本身需轉義為兩個單引號 ''
  • 字串長度不得超過欄位定義,建議插入前驗證長度
  • 日期欄位可用 SYSDATE(精確到秒)或 TO_DATE('2001-08-01','YYYY-MM-DD') 轉換
  • 單次 INSERT 字串上限 4000 位元組,超長請改用 CLOB 搭配 DBMS_LOB 套件
  • 自動遞增序列號需先建立 CREATE SEQUENCE seq_name INCREMENT BY 1 START WITH 1 MAXVALUE 99999 CYCLE NOCACHE;,插入時引用 seq_name.NEXTVAL

2. DELETE 刪除數據

DELETE FROM 表名 WHERE 條件;

刪除僅標記數據塊為 unused,不釋放表空間。需徹底清空大表並回收空間請用 TRUNCATE TABLE 表名;(不可回滾)。

3. UPDATE 修改數據

UPDATE 表名 SET 欄位1=值1, 欄位2=值2, ... WHERE 條件;

未賦值欄位將變為 NULL,長度超限會報錯,均建議前置驗證。

事務控制與效能建議

  • DML 操作隱含行級鎖,必須 COMMIT 生效,ROLLBACK 可撤銷
  • 單次事務建議控制在 1 萬筆以內,超過十萬筆請分批提交,避免回滾段膨脹導致響應緩慢

二、數據定義語言 (DDL) 常用操作

1. CREATE 建立對象

常用資料型別:CHAR(定長)、VARCHAR2(變長)、NUMBER(M,N)、DATE。

建表最佳實踐:

  • 非空小欄位前置,可空大欄位後置
  • 優先使用英文欄位名
  • 善用 DEFAULT SYSDATE 自動記錄操作時間
  • 加入 UNIQUE、PRIMARY KEY 等約束

2. ALTER 修改對象

ALTER TABLE 表名1 RENAME TO 表名2;
ALTER TABLE 表名 ADD 欄位名 資料型別;
ALTER TABLE 表名 MODIFY 欄位名 新資料型別;
ALTER TABLE 表名 ADD CONSTRAINT 約束名 約束類型(欄位);
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved