Oracle - 約束、索引等相關常用操作語句
一、表約束
-- 新增主鍵
ALTER TABLE 表名稱 ADD CONSTRAINT 主鍵名稱 PRIMARY KEY(欄位名稱);
-- 增加外來鍵
ALTER TABLE 當前表名稱 ADD CONSTRAINT 外來鍵名 FOREIGN KEY (當前表欄位名) REFERENCES 關聯表名稱 (關聯表欄位名稱);
-- 增加非空約束
ALTER TABLE 表名稱 MODIFY 欄位名稱 DATATYPE NOT NULL;
-- 去除非空約束
ALTER TABLE 表名稱 MODIFY 欄位每次 DATATYPE NULL;
-- 新增唯一約束
ALTER TABLE 表名稱 ADD CONSTRAINT 約束名稱 UNIQUE(欄位名稱);
-- 新增其他約束
ALTER TABLE 表名稱 ADD CONSTRAINT 約束名稱 CHECK(條件一 OR|AND 條件二);
-- 禁用約束
ALTER TABLE 表名稱 DISABLE CONSTRAINT 約束名稱;
-- 啟用約束
ALTER TABLE 表名稱 ENABLE CONSTRAINT 約束名稱;
-- 重新命名約束
ALTER TABLE 表名稱 RENAME CONSTRAINT 舊約束名稱 TO 新約束名稱
-- 檢視約束
select table_name,constraint_name,constraint_type, SEARCH_CONDITION from user_constraints where table_name='表名(大寫)';
-- 刪除約束
alter table student drop constraint 約束名稱;
二、表索引 -- 建立索引
CREATE INDEX 索引名稱 ON 表名稱 (欄位名稱,欄位名稱) TABLESPACE 表空間名稱;
-- 檢視索引
SELECT
UIC.*,IDX.INDEX_TYPE FROM USER_IND_COLUMNS UIC,USER_INDEXES IDX
WHERE
UIC.INDEX_NAME = IDX.INDEX_NAME AND UIC.TABLE_NAME='表名稱(大寫)';
-- 刪除索引
DROP INDEX 使用者名稱.索引名; -- 當表結構被刪除時,其相關的所有索引也隨之被刪除
三、其他相關 -- 檢視包/儲存過程的定義
SELECT OWNER,NAME,TYPE,LINE,TEXT FROM ALL_SOURCE WHERE OWNER = UPPER('使用者名稱') AND TYPE = 'PACKAGE';
-- 檢視使用者物件(表/過程/等)的詳細資料
SELECT * FROM USER_OBJECTS WHERE OBJECT_NAME='PDTYPES';
-- 檢視觸發器
SELECT TRIGGER_NAME FROM ALL_TRIGGERS; -- 檢視所有觸發器的名稱
SELECT TEXT FROM ALL_SOURCE WHERE TYPE='TRIGGER' AND NAME='觸發器名稱'; -- 檢視觸發器的定義
-- 檢視序列及其相關屬性
SELECT * FROM DBA_SEQUENCES;
相關文章
- SQLite語句(一):表的操作和約束SQLite
- MySQL 中的約束及相關操作MySql
- ORACLE常用語句:Oracle
- mysql新增約束語句筆記MySql筆記
- Oracle如何管理帶約束的B樹索引Oracle索引
- 18 與Oracle Data Guard 相關的SQL語句OracleSQL
- 【LOB】Oracle lob管理常用語句Oracle
- oracle資料庫常用語句Oracle資料庫
- 資料庫——一些復健(主要是約束和索引相關練習)資料庫索引
- 關於使用plsql操作oracle的一點小技巧和幾個常用的查詢語句SQLOracle
- 資料庫常用操作SQL語句資料庫SQL
- MySql常用操作SQL語句彙總MySql
- 主鍵約束、唯一約束和唯一索引索引
- oracle資料庫建立、刪除索引等操作Oracle資料庫索引
- ORACLE多表關聯UPDATE語句Oracle
- 關於使用plsql操作oracle的一點小技巧和幾個常用的查詢語句BUSQLOracle
- 【SCRIPT】Oracle表管理段管理常用語句Oracle
- 【MySQL】MySQL基礎(SQL語句、約束、資料型別)MySql資料型別
- Oracle常用的系統查詢語句整理Oracle
- 關於轉儲Oracle索引資訊的相關命令Oracle索引
- 資料庫常用約束資料庫
- oracle 註釋和約束Oracle
- AIX操作相關常用命令整理AI
- 10、Oracle中的約 束constraintOracleAI
- mySql常用語句MySql
- 常用MSSQL語句SQL
- sql常用語句SQL
- oracel常用語句
- Matlab常用語句Matlab
- mysql 索引相關MySql索引
- 聊聊Oracle外來鍵約束(Foreign Key)的幾個操作選項Oracle
- oracle常用後臺程序及sql語句執行流程OracleSQL
- 【SQL】15 SQL 約束(Constraints)、NOT NULL 約束、UNIQUE 約束、PRIMARY KEY 約束、FOREIGN KEY 約束、CHECK 約束、DEFAULT約束SQLAINull
- 基於C#語言Oracle.ManagedDataAccess操作Oracle資料庫連線語句C#Oracle資料庫
- 關於Hibernate和hql語句的相關知識點
- 用函式索引構造特殊的約束函式索引
- PostgreSQL 原始碼解讀(44)- 查詢語句#29(等價類相關資料結構)SQL原始碼資料結構
- MongoDB中常用語句MongoDB
- Mysql日期常用語句MySql