图片

SQL(Structure Query Language)结构化查询语言是数据库的核心语言,是高级的非过程化编程语言。它功能强大,效率高,简单易学易维护。SQL语言基本上独立于数据库本身、使用的机器、网络、操作系统,基于SQL的DBMS产品可以运行在从个人机、工作站到基于局域网、小型机和大型机的各种计算机系统上,具有良好的可移植性。

DQL

  • 数据查询语言(DQL: Data Query Language)

数据检索语句,用于从表中获取数据。通常最常用的为保留字SELECT,并且常与FROM子句、WHERE子句组成查询SQL查询语句。

语法:

        SELECT <字段名> FROM <表或视图名> WHERE <查询条件>;

DML

  • 数据操纵语言(DML:Data Manipulation Language)

主要用来对数据库的数据进行一些操作,常用的就是INSERT、UPDATE、DELETE。

语法:

     INSERT INTO <表名>(列1,列2,...) VALUES (值1,值2,...);

    UPDATE <表名> SET <列名>=新值 WHERE <列名>=某值;

    DELETE FROM <表名> WHERE <列名>=某值;

DDL


  • 数据库定义语言(DDL: Data Definition Language)

其实就是我们在创建表的时候用到的一些sql,比如说:CREATE、ALTER、DROP等。DDL主要是用在定义或改变表的结构,数据类型,表之间的链接和约束等初始化工作上

语法: 

        CREATE TABLE 表名称

        (

            列名称1 数据类型,

            列名称2 数据类型,

            列名称3 数据类型,

            ....

        )


        ALTER TABLE table_name

        ALTER COLUMN column_name datatype

        

        DROP TABLE 表名称

        DROP DATABASE 数据库名称

DCL

  • 数据库控制语言:DCL(Data Control Language)

是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。这个比较少用到。

DPL

  • 事务处理语言(DPL)

事务处理语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTION、COMMIT和ROLLBACK。

CCL

  • 指针控制语言(CCL)

它的语句,想DECLARE CURSOR、FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作。


SQL是一个标准,每个数据库服务器都在标准的基础上进行了相应的调整和扩展,相应的,每个数据库对数据的各种操作语言的语法就会做出相应的调整。在MySQL中,SQL通常分为DDL、DML和查询,还包括一些其它语句类别。MySQL将SELECT与INSERT、UPDATE、DELETE分别划分到了查询和DML,但是也并非绝对的划分,通常会将SELECT与INSERT、UPDATE、DELETE一起划分为DML