DDL是什麼意思?DDL跟資料庫關係介紹

2021-01-11 中華網

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

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

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

查詢語句的重寫的實現主要是對SQL語言中的兩大類語句進行重寫,即數據定義語言DDL和數據操縱語言DML。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語句:

執行完這條語句之後,Oracle所有的DDL語句,均無法執行,包括SYS用戶

責任編輯:kj005

文章投訴熱線:156 0057 2229 投訴郵箱:29132 36@qq.com

相關焦點

  • 微博DDL是什麼意思什麼梗 網絡語ddl中文介紹
    新浪微博DDL是什麼意思?最近很多人都表示DDL要到了他要完蛋了。聽起來這好像是一件很恐怖的東西,但是很多人還是不知道DDL是什麼意思,讓我們一起來看看吧。  新浪微博DDL是什麼意思  DDL:  DDL是deadline的英文縮寫。
  • 至少,要做到80分吧:到底什麼是真正的「靠譜」?
    但是,到底什麼是「靠譜」?能力強?人很好?會來事兒?這些都重要。但都還不是靠譜。真正的靠譜,是穩定。是讓人放心。什麼意思?—1—要理解什麼是靠譜,我們首先要理解一個概念——標準差。我舉個例子。假如你要找合作夥伴,這時A,B兩家公司都送了6件產品來參加檢測。
  • A站、B站、C站都是什麼?今天來科普下這是什麼意思!
    C站:即「TUCAO吐槽」,也是中國國內一個彈幕視頻分享網站,該網站由ddl0762(小神)於2011年2月10日創建。是一個類似A站B站的彈幕網站,內容偏紳士,口號是「吐槽你就輸了」。D站:代指dilidili即嘀哩嘀哩,以二次元的純動漫視頻網站,主要面向二次元群體尤其是動漫愛好者。
  • 透明肥宅快樂水什麼意思什麼梗?全新的獨創配方跟雪碧沒半毛線關係
    透明肥宅快樂水什麼意思什麼梗?全新的獨創配方跟雪碧沒半毛線關係時間:2020-08-16 13:04   來源:西村詞典   責任編輯:沫朵 川北在線核心提示:原標題:透明肥宅快樂水什麼意思什麼梗?全新的獨創配方跟雪碧沒半毛線關係 有很多的小夥伴們都想知道透明肥宅快樂水什麼梗,下面西村詞典小編為大家帶來透明肥宅快樂水什麼含義介紹,感興趣的小夥伴們快來一起了解一下吧! 透明肥宅快樂水什麼梗 小編推薦:肥宅快樂水   原標題:透明肥宅快樂水什麼意思什麼梗?
  • cry是「哭」,那cry up是什麼意思呢?跟「哭」沒有半毛錢關係!
    在英文的日常表達中,很多口語都會因為一些小錯誤,而鬧出一系列的笑話,之前大白有介紹過一些,今天繼續為大家介紹那些看起來很普通,卻很容易被大家表達錯的句子。1、和你一起走如何用英文表達「和你一起走」呢?如果我母親回來的話,我就跟你去。We must walk our talk. We must make our city better and better. Let's go together.我們必須言行一致,我們必須使我們的城市越來越好。讓我們一起去吧。
  • 文檔資料庫與關係資料庫的比較
    文檔資料庫與關係資料庫的比較 文檔資料庫與關係資料庫的比較 2009-07-06 15:58:27  來源:CIO時代網而文檔資料庫具有數據的物理獨立性和邏輯獨立性,數據和程序分離。  文檔資料庫也不同於關係資料庫,關係資料庫是高度結構化的,而Notes的文檔資料庫允許創建許多不同類型的非結構化的或任意格式的欄位,與關係資料庫的主要不同在於,它不提供對參數完整性和分布事務的支持,但和關係資料庫也不是相互排斥的,它們之間可以相互交換數據,從而相互補充、擴展。
  • 有些人總喜歡說中文時候夾英文單詞,你覺得這是出於什麼心態?
    的確,時至今日,英語與我們的生活聯繫的已經越來越緊密,不論是影視節目還是日常生活,已經越來越多的人喜歡在自己說的話中加上幾個單詞,似乎這已經成了一種新的時尚,比如什麼diss、freestyle、feel等等。不過小編還是比較納悶,難道這樣說單純就是為了有範兒?
  • 什麼是資料庫?資料庫的體系結構是如何劃分
    本篇將介紹的是資料庫的體系結構是如何劃分,有興趣的朋友可以了解一下!什麼是資料庫?可以從它的字面意思理解,資料庫是數據的集合。比如:我們在筆記本上把圖片或者文檔、電影等資料放到一個文件夾下,那麼這個文件夾就是一個資料庫。那麼如果運用在系統開發的時候呢?它所存儲的便是應用系統內的數據,數據的重要性不言而喻。資料庫的概念需要掌握才能更好的使用和發揮資料庫存儲數據的功能。
  • 簡單學資料庫:什麼是外鍵約束,以及什麼是表關係?
    今天我們和大家分享的是什麼是外鍵約束,以及什麼是表的結構。我們廢話不多說,馬上開始我們今天的分享。開發工具:IDLE (Python 3.7 64-bit或者32-bit) , pycharm(professional的版本), Ubuntu,xshell6(註:不需要3.7版本的也行,只需要Python3的版本都可以)1.什麼是MySQL(資料庫)?
  • 數易軒:圖資料庫的定義是什麼?圖資料庫如何設計
    圖資料庫是一個使用圖結構進行語義查詢的非關係型資料庫,通過使用節點、邊和屬性這三個元素來表示和儲存數據。圖資料庫作為新型NoSQL資料庫的代表,受到了諸多企業的關注,數易軒致力於圖資料庫技術服務,為您介紹圖資料庫的定義和原理。
  • SQL語言基礎:資料庫語言概念介紹
    1、概念介紹SQL(Structured Query Lanauage)結構化查詢語言是關係資料庫中最普遍使用的語言。主要包括查詢、數據操縱、數據定義、數據控制功能,是一種通用的、功能強大的關係資料庫的標準語言。
  • 「good works」可不是指「幹得好」,意思跟工作沒有一丁點關係!
    說到工作,大白腦中最先想到的會是之前提到的「work like a dog」,不是累成狗,意思是指「努力工作、拼命工作」。而關於work的英語表達,之前大白也介紹過很多,今天呢,我們繼續學習此類相關英語小知識,希望大家喜歡。
  • 圖資料庫和關係型資料庫的比較
    關係型資料庫中的圖數據在關係資料庫中,通常有兩個用於存儲社交關係的表格:一個表格保存用戶信息,另一個用於保存用戶的朋友關係用戶表和用戶朋友關係表以下為使用mysql資料庫創建表的SQL腳本這種操作這會給你的關係資料庫引擎帶來巨大壓力。為了說明此類查詢的性能,這裡針對1,000個用戶的小數據集,運行了幾次friends-of-friends查詢,但每次增加搜索的深度,並記錄結果。
  • 《COD16戰區》SPM是什麼意思 spm介紹
    導 讀 使命召喚16戰區SPM是很多玩家在帖子力經常看到的一個縮寫詞,對於新入坑的玩家來說還不知道這個SPM代表了什麼意思,和小編一起來看看吧。
  • 養魚是什麼意思什麼梗? 曖昧對象的人數跟海洋裡的所有生物差不多
    養魚是什麼意思什麼梗? 曖昧對象的人數跟海洋裡的所有生物差不多時間:2019-07-27 12:20   來源:非主流百科   責任編輯:沫朵 川北在線核心提示:原標題:養魚是什麼意思什麼梗?曖昧對象的人數跟海洋裡的所有生物差不多 養魚的來源和意思 在網絡用語中,這裡的魚指備胎(有曖昧行為,但不是真正的戀愛關係的人),養魚就是養備胎。 衍生出了養魚塘,就是和很多人都有曖昧關係,備胎有一大群。養魚塘的主人會被稱   原標題:養魚是什麼意思什麼梗?
  • 0064 關係資料庫的概念和安裝使用MySQL
    這節課開始學習關係資料庫的概念,以及如何安裝和使用MySQL資料庫。關係資料庫的概念資料庫就是對數據進行結構化存儲和管理的倉庫。關係資料庫就是資料庫中的表採用二維表格來存儲數據,是一種按行與列排列的具有相關信息的邏輯組,它類似於Excle工作表。表和表之間可以通過數據關係進行關聯。