数据定义语言 DDL


数据定义语言 DDL

文章插图
DDL(数据定义语言)【数据定义语言 DDL】资料库模式定义语言DDL(Data Definition Language),是用于描述资料库中要存储的现实世界实体的语言 。
基本介绍中文名:模式数据定义语言
外文名:schema data definition language
简称: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_nameCREATE TABLE创建资料库表格CREATE [TEMPORARY] TABLE tbl_name[(create_definition,...)][table_options] [select_statement]ALTER TABLE修改资料库表格ALTER TABLE tbl_namealter_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_optionsDROP TABLE删除资料库表格DROP [TEMPORARY] TABLEtbl_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 VIEWview_name [, view_name] ...[RESTRICT | CASCADE]TRUNCATE TABLE删除数据表内容TRUNCATE TABLE name [DROP/REUSE STORAGE]DROP STORAGE:显式指明释放数据表和索引的空间REUSE STORAGE:显式指明不释放数据表和索引的空间禁用DDL语句在一些特定情况下,如:金融、安全、税务等等部门,有一些资料库为了安全需要,需要禁止执行DDL语句 。在Oracle资料库下,禁止DDL语句需要执行下面的SQL语句: