中华网数码

设为书签Ctrl+D将本页面保存为书签,全面了解最新资讯,方便快捷。
业 界/ 互联网/ 行 业/ 通 信/ 数 码/ 手 机/ 平 板/ 笔记本/ 相 机
当前位置: 数码 > 滚动新闻 >

DDL是什么意思?DDL跟数据库关系介绍

DDL是什么意思?DDL跟数据库关系介绍
2020-11-17 15:20:47 来源:百度百科

数据库模式定义语言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
关键词:

西南某省5G覆盖率达99% 下载平均速率达800Mbps

2020-11-13 09:53:13西南某省5G覆盖率达99% 下载平均速率达800Mbps

三星拿下三季度北美市场手机出货份额第一,击败苹果

2020-11-11 10:41:53三星拿下三季度北美市场手机出货份额第一,击败苹果

华硕ROG C8DH主板斩获15项全球第一

2020-11-10 10:20:07华硕ROG C8DH主板斩获15项全球第一

数据分析:28nm产业链1-2年内或将实现国产化

2020-11-10 10:15:43数据分析:28nm产业链1-2年内或将实现国产化

ASML中国展示DUV光刻机 可生产7nm及以上制程芯片

2020-11-06 09:24:42ASML中国展示DUV光刻机 可生产7nm及以上制程芯片

中国联通累计开通5G基站33.2万站,年底预计超过38万个

2020-11-03 15:20:15中国联通累计开通5G基站33.2万站,年底预计超过38万个

相关新闻