必威电竞|足球世界杯竞猜平台

DDL
來源:互聯網

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

基本簡介

這些定義包括結構定義、操作方法定義等。

數據庫模式定義語言并非程序設計語言,DDL數據庫模式定義語言是SQL(結構化查詢語言)的組成部分。SQL語言包括四種主要程序設計語言類別的語句:數據定義語言(DDL),數據操作語言(DML),數據控制語言(DCL)和事務控制語言(TCL)。

查詢語句的重寫的實現主要是對SQL語言中的兩大類語句進行重寫,即數據定義語言DDL和數據操縱語言DML。

DDL描述的模式,必須由計算機軟件進行編譯,轉換為便于計算機存儲、查詢和操縱的格式,完成這個轉換工作的程序稱為模式編譯器。

模式編譯器處理模式定義主要產生兩種類型的數據:數據字典以及數據類型和結構定義。

數據字典和數據庫內部結構信息是創建該模式所對應的數據庫的依據,根據這些信息創建每個數據庫對應的邏輯結構;對數據庫數據的訪問、查詢也根據模式信息決定數據存取的方式和類型,以及數據之間的關系和對數據的完整性約束。

數據字典是模式的內部信息表示,數據字典的存儲方式對不同的DBMS各不相同。

數據類型和結構的定義,是指當應用程序與數據庫連接操作時,應用程序需要了解產生和提取的數據類型和結構。是為各種宿主語言提供的用戶工作區的數據類型和結構定義,使用戶工作區和數據庫的邏輯結構相一致,減少數據的轉換過程,這種數據類型和結構的定義通常用一個頭文件來實現。

數據庫模式的定義通常有兩種方式: 交互方式定義模式和通過數據描述語言DDL 描述文本定義模式。

常見語句

創建數據庫

CREATE DATABASE

CREATE {DATABASE | Schema} db_人名

[create_specification [, create_specification] ...]

create_specification:

[DEFAULT] 特征標理論 SET charset_name

| [DEFAULT] COLLATE collation_name

創建數據庫表格

CREATE TABLE

CREATE [TEMPORARY] TABLE tbl_人名

[(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_人名 ]

| 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_人名,...)

| 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_人名]

| 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_人名

| ORDER BY col_name

| CONVERT TO 字符 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_人名 [, tbl_name] ...

[RESTRICT | CASCADE]

創建查詢命令

CREATE 視圖

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_人名 [(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語句需要執行如圖1所示的SQL:圖1 執行完這條語句之后,Oracle所有的DDL語句,均無法執行,包括SYS用戶。

參考資料 >

生活家百科家居網