DDL(數據定義語言)

DDL(數據定義語言)

本詞條是多義詞,共5個義項
更多義項 ▼ 收起列表 ▲

資料庫模式定義語言DDL(Data Definition Language),是用於描述資料庫中要存儲的現實世界實體的語言。

基本介紹

  • 中文名:模式數據定義語言
  • 外文名:schema data definition language
  • 簡稱:DDL
  • 用於:描述資料庫中存儲現實實體語言
電腦語言,常見的DDL語句,禁用DDL語句,

電腦語言

這些定義包括結構定義、操作方法定義等。
資料庫模式定義語言並非程式設計語言,DDL資料庫模式定義語言是SQL語言(結構化查詢語言)的組成部分。SQL語言包括四種主要程式設計語言類別的語句:數據定義語言(DDL),數據操作語言(DML),數據控制語言(DCL)和事務控制語言(TCL)。
DDL描述的模式,必須由計算機軟體進行編譯,轉換為便於計算機存儲、查詢和操縱的格式,完成這個轉換工作的程式稱為模式編譯器
模式編譯器處理模式定義主要產生兩種類型的數據:數據字典以及數據類型和結構定義。
數據字典和資料庫內部結構信息是創建該模式所對應的資料庫的依據,根據這些信息創建每個資料庫對應的邏輯結構;對資料庫數據的訪問、查詢也根據模式信息決定數據存取的方式和類型,以及數據之間的關係和對數據的完整性約束。
數據字典是模式的內部信息表示,數據字典的存儲方式對不同的DBMS各不相同。
數據類型和結構的定義,是指當應用程式與資料庫連線操作時,應用程式需要了解產生和提取的數據類型和結構。是為各種宿主語言提供的用戶工作區的數據類型和結構定義,使用戶工作區和資料庫的邏輯結構相一致,減少數據的轉換過程,這種數據類型和結構的定義通常用一個頭檔案來實現。
資料庫模式的定義通常有兩種方式: 互動方式定義模式和通過數據描述語言DDL 描述文本定義模式。

常見的DDL語句

CREATE DATABASE
創建資料庫
CREATE {DATABASE | SCHEMA} db_name
[create_specification [, create_specification] ...]
create_specification:
[DEFAULT] CHARACTER SET charset_name
| [DEFAULT] COLLATE collation_name
CREATE TABLE
創建資料庫表格
CREATE [TEMPORARY] TABLE tbl_name
[(create_definition,...)]
[table_options] [select_statement]
ALTER TABLE
修改資料庫表格
ALTER TABLE tbl_name
alter_specification [, alter_specification] ...
alter_specification:
ADD [COLUMN] column_definition [FIRST | AFTER col_name ]
| ADD [COLUMN] (column_definition,...)
| ADD INDEX (index_col_name,...)
| ADD [CONSTRAINT [symbol]]
PRIMARY KEY (index_col_name,...)
| ADD [CONSTRAINT [symbol]]
UNIQUE (index_col_name,...)
| ADD (index_col_name,...)
| ADD [CONSTRAINT [symbol]]
FOREIGN KEY (index_col_name,...)
[reference_definition]
| ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
| CHANGE [COLUMN] old_col_name column_definition
[FIRST|AFTER col_name]
| MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]
| DROP [COLUMN] col_name
| DROP PRIMARY KEY
| DROP INDEX index_name
| DROP FOREIGN KEY fk_symbol
| DISABLE KEYS
| ENABLE KEYS
| RENAME [TO] new_tbl_name
| ORDER BY col_name
| CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]
| [DEFAULT] CHARACTER SET charset_name [COLLATE collation_name]
| DISCARD TABLESPACE
| IMPORT TABLESPACE
| table_options
DROP TABLE
刪除資料庫表格
DROP [TEMPORARY] TABLE
tbl_name [, tbl_name] ...
[RESTRICT | CASCADE]
CREATE VIEW
創建查詢命令
CREATE[ORREPLACE][ALGORITHM={UNDEFINED|MERGE|TEMPTABLE}]
VIEW view_name [(column_list)]
AS select_statement
[WITH [CASCADED | LOCAL] CHECK OPTION]
ALTER VIEW
修改查詢命令
ALTER [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
VIEW view_name [(column_list)]
AS select_statement
[WITH [CASCADED | LOCAL] CHECK OPTION]
DROP VIEW
刪除查詢命令
DROP VIEW
view_name [, view_name] ...
[RESTRICT | CASCADE]
TRUNCATE TABLE
刪除數據表內容
TRUNCATE TABLE name [DROP/REUSE STORAGE]
DROP STORAGE:顯式指明釋放數據表和索引的空間
REUSE STORAGE:顯式指明不釋放數據表和索引的空間

禁用DDL語句

在一些特定情況下,如:金融、安全、稅務等等部門,有一些資料庫為了安全需要,需要禁止執行DDL語句。在Oracle資料庫下,禁止DDL語句需要執行下面的SQL語句:
DDLDDL
執行完這條語句之後,Oracle所有的DDL語句,均無法執行,包括SYS用戶。

相關詞條

熱門詞條

聯絡我們