ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 什么是DQL、DML、DDL、DCL

什么是DQL、DML、DDL、DCL

原创 Linux操作系统 作者:victorymoshui 时间:2011-04-05 11:53:23 0 删除 编辑

DQL

        DQL:Data Query Language SELECT 数据查询语言

  select具体用法

  SELECT select_list

  [ INTO new_table ]

  FROM table_source

  [ WHERE search_condition ]

  [ GROUP BY group_by_expression ]

  [ HAVING search_condition ]

  [ ORDER BY order_expression [ ASC | DESC ] ]

  例子:找出emp表中员工号为007的员工的工资

  SELECT t.sal

  FROM emp t

  WHERE t.ID =007

DML

 DML = Data Manipulation Language,数据操纵语言,命令使用户能够查询数据库以及操作已有数据库中的数据的计算机语言。具体是指是SELECT查询、UPDATE更新、INSERT插入、DELETE删除。

  DML(Data Manipulation Language)数据操纵语言,SQL的分类之一,此外还有DDL(Data Definition Language)数据定义语言和DCL(Data Control Language)数据控制语言。DML包括:INSERT、UPDATE、DELETE。注意,select语句属于DQL(Data Query Language)。

 DML分成交互型DML和嵌入型DML两类。

  依据语言的级别,DML又可分成过程性DML和非过程性DML两种。

  如insert,delete,update,select(插入、删除、修改、检索)等都是DML.

  交互型DML:这类DML自成系统,可在终端上直接对数据库进行操作。

  嵌入型DML:这类DML是嵌入在主语言中使用。此时主语言是经过扩充能处理DML语句的语言。

  过程性DML:用户编程时,不仅需要指出“做什么”(需要什么样的数据),还需要指出“怎么做”(怎么获得数据)。层状、网状的DML属于过程性语言。

  非过程性DML:用户编程时,只需要指出“做什么”,不需要指出“怎么做”。关系型DML属于非过程性语言。

DDL

  数据库模式定义语言DDL(Data Definition Language),是用于描述数据库中要存储的现实世界实体的语言。一个数据库模式包含该数据库中所有实体的描述定义。这些定义包括结构定义、操作方法定义等。

  数据库模式定义语言并非程序设计语言,DDL数据库模式定义语言是SQL语言(结构化程序设计语言)的

  组成部分。SQL语言包括三种主要程序设计语言类别的语句:数据定义语言(DDL),数据操作语言(DML)及数据控制语言(DCL)。

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

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

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

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

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

  数据库模式的定义通常有两种方式: 交互方式定义模式和通过数据描述语言 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 [OR REPLACE] [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]

DCL

    DCL(Data Control Language)是数据库控制语言。是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。在默认状态下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权力执行DCL

  DCL数据库控制语言不同于程序设计语言,SQL语言(结构化程序设计语言)的组成部分包括了DCL数据库控制语言。 SQL语言包括三种主要程序设计语言类别的语句:数据定义语言(DDL),数据操作语言(DML)及数据控制语言(DCL)。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9390331/viewspace-691669/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-08-26

  • 博文量
    173
  • 访问量
    303311