建立學生表,包含學號、姓名,插入兩筆資料並查詢驗證。
-- 1. 建表
CREATE TABLE student (
id NUMBER(10) PRIMARY KEY, -- 學號,主鍵
name VARCHAR2(50) NOT NULL -- 姓名,非空
);
-- 2. 插入資料(Oracle 字串用單引號)
INSERT INTO student (id, name) VALUES (1, '張三');
INSERT INTO student (id, name) VALUES (2, '李四');
-- 3. 提交事務(Oracle 預設不自動提交)
COMMIT;
-- 4. 查詢驗證
SELECT * FROM student;
| 項目 | 說明 |
|---|---|
| 字串字面值 | Oracle 只接受單引號 '張三',雙引號 "張三" 會被視為識別符(欄位名/表名),導致 ORA-00904。 |
| 主鍵約束 | PRIMARY KEY 同時隱含 NOT NULL + UNIQUE,確保學號唯一且非空。 |
| 事務控制 | DML(INSERT/UPDATE/DELETE)需顯式 COMMIT 才持久化;ROLLBACK 可回滾。 |
| VARCHAR2 長度 | 建議給足業務最大長度(如 50),避免資料截斷。 |
| 大小寫 | Oracle 關鍵字不分大小寫,資料值區分大小寫。 |
CREATE SEQUENCE seq_student; INSERT ... VALUES (seq_student.NEXTVAL, '王五');created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMPINSERT ALL INTO student VALUES (3,'趙六') INTO student VALUES (4,'錢七') SELECT * FROM dual;SELECT * FROM student WHERE name LIKE '張%';