DDL

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

简介

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

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

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

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:显式指明不释放数据表和索引的空间

DML

数据操作语言DML(Data Manipulation Language),用户通过它可以实现对数据库的基本操作。例如,对表中数据的查询、插入、删除和修改。 在DML中,应用程序可以对数据库作插,删,改,排,检等五种操作。

数据操纵语言(Data Manipulation Language, DML)是用于数据库操作,对数据库其中的对象和数据运行访问工作的编程语句,通常是数据库专用编程语言之中的一个子集,例如在信息软件产业通行标准的SQL语言中,以INSERT、UPDATE、DELETE三种指令为核心,分别代表插入(意指新增或创建)、更新(修改)与删除(销毁)。在使用数据库的系统开发过程中,其中应用程序必然会使用的指令;而加上 SQL的SELECT语句,欧美地区的开发人员把这四种指令,以“CRUD”(分别为 Create, Read, Update, Delete英文四前缀字母缩略的术语)来称呼;而亚洲地区使用汉语的开发人员,或可能以四个汉字:增 查 改 删 来略称。

DML 的主要功能即是访问数据,因此其语法都是以读取与写入数据库为主,除了INSERT以外,其他指令都可能需搭配WHERE指令来过滤数据范围,或是不加WHERE指令来访问全部的数据。DML 的主要功能即是访问数据,因此其语法都是以读取与写入数据库为主,除了INSERT以外,其他指令都可能需搭配WHERE指令来过滤数据范围,或是不加WHERE指令来访问全部的数据。

具体步骤

DML 的主要功能即是访问数据,因此其语法都是以读取与写入数据库为主,除了INSERT以外,其他指令都可能需搭配WHERE指令来过滤数据范围,或是不加WHERE指令来访问全部的数据。DML 的主要功能即是访问数据,因此其语法都是以读取与写入数据库为主,除了INSERT以外,其他指令都可能需搭配WHERE指令来过滤数据范围,或是不加WHERE指令来访问全部的数据。

(1)插操作:把数据插入到数据库中指定的位置上去,如Append 是在数据库文件的末尾添加记录,而INSERT是在指定记录前添加记录。

(2)删操作:删除数据库中不必再继续保留的一组记录,如DELETE 对数据库中记录作删除标志。PACK是将标有删除标志的记录彻底清除掉。ZAP 是去掉数据库文件的所有记录。

(3)改操作:修改记录或数据库模式,或在原有数据的基础上, 产生新的关系模式和记录,如连接Join操作和投影操作Projection.

(4)排序操作:改变物理存储的排列方式。如SORT命令按指定关键字串把DBF文件中记录排序。从物理存储的观点看,数据库发生了变化,但从逻辑的观点(或集合论观点看),新的关系与排序前是等价的。

(5)检索操作:从数据库中检索出满足条件的数据,它可以是一个数据项, 一个记录或一组记录。如BROWSE单元实现对数据的浏览操作。SELECT选出满足一定条件和范围的记录。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐