DDL 编辑

数据定义语言

DDLDDL

数据库模式定义语言DDL(Data Definition Language),是用于描述数据库中要存储的现实世界实体的语言。

基本信息

编辑

中文名:数据库模式定义语言

外文名:Data definition language

简称:DDL

用于:描述数据库中存储现实实体语言

隶属:SQL语言

模式分类:交互方式定义模式和通过数据描述语言DDL 描述文本定义模式

简介

编辑

这些定义包括结构定义、操作方法定义等。

数据库模式定义语言并非程序设计语言,DDL数据库模式定义语言是SQL语言(结构化查询语言)的组成部分。SQL语言包括四种主要程序设计语言类别的语句:数据定义语言(DDL),数据操作语言(DML),数据控制语言(DCL)和事务控制语言(TCL)。

查询语句的重写的实现主要是对SQL语言中的两大类语句进行重写,即数据定义语言DDL和数据操纵语言DML。

DDL描述的模式,必须由计算机软件进行编译,转换为便于计算机存储、查询和操纵的格式,完成这个转换工作的程序称为模式编译器。

模式编译器处理模式定义主要产生两种类型的数据:数据字典以及数据类型和结构定义。

数据字典和数据库内部结构信息是创建该模式所对应的数据库的依据,根据这些信息创建每个数据库对应的逻辑结构;对数据库数据的访问、查询也根据模式信息决定数据存取的方式和类型,以及数据之间的关系和对数据的完整性约束。

数据字典是模式的内部信息表示,数据字典的存储方式对不同的DBMS各不相同。

数据类型和结构的定义,是指当应用程序与数据库连接操作时,应用程序需要了解产生和提取的数据类型和结构。是为各种宿主语言提供的用户工作区的数据类型和结构定义,使用户工作区和数据库的逻辑结构相一致,减少数据的转换过程,这种数据类型和结构的定义通常用一个头文件来实现。

数据库模式的定义通常有两种方式: 交互方式定义模式和通过数据描述语言DDL 描述文本定义模式。

常见的DDL语句

编辑

创建数据库

CREATE DATABASE

创建数据库

CREATE {DATABASE | SCHEMA} db_name

...]

create_specification:

CHARACTER SET charset_name

| COLLATE collation_name

创建数据库表格

CREATE TABLE

创建数据库表格

CREATE TABLE tbl_name

修改数据库表格

ALTER TABLE

修改数据库表格

ALTER TABLE tbl_name

alter_specification ...

alter_specification:

ADD column_definition

| ADD (column_definition,...)

| ADD INDEX (index_col_name,...)

| ADD ]

PRIMARY KEY (index_col_name,...)

| ADD ]

UNIQUE (index_col_name,...)

| ADD (index_col_name,...)

| ADD ]

FOREIGN KEY (index_col_name,...)

| ALTER col_name {SET DEFAULT literal | DROP DEFAULT}

| CHANGE old_col_name column_definition

| MODIFY column_definition

| DROP col_name

| DROP PRIMARY KEY

| DROP INDEX index_name

| DROP FOREIGN KEY fk_symbol

| DISABLE KEYS

| ENABLE KEYS

| RENAME new_tbl_name

| ORDER BY col_name

| CONVERT TO CHARACTER SET charset_name

| CHARACTER SET charset_name

| DISCARD TABLESPACE

| IMPORT TABLESPACE

| table_options

删除数据库表格

DROP TABLE

删除数据库表格

DROP TABLE

tbl_name ...

创建查询命令

CREATE VIEW

创建查询命令

CREATE

VIEW view_name

AS select_statement

CHECK OPTION]

修改查询命令

ALTER VIEW

修改查询命令

ALTER

VIEW view_name

AS select_statement

CHECK OPTION]

删除查询命令

DROP VIEW

删除查询命令

DROP VIEW

view_name ...

删除数据表内容

TRUNCATE TABLE

删除数据表内容

TRUNCATE TABLE name

DROP STORAGE:显式指明释放数据表和索引的空间

REUSE STORAGE:显式指明不释放数据表和索引的空间

禁用DDL语句

编辑

在一些特定情况下,如:金融、安全、税务等等部门,有一些数据库为了安全需要,需要禁止执行DDL语句。在Oracle数据库下,禁止DDL语句需要执行如图1所示的SQL语句:

图1图1

执行完这条语句之后,Oracle所有的DDL语句,均无法执行,包括SYS用户。

DDL

下一篇 数据库生命周期

上一篇 表单