Hive SQL四大类:DQL、DML、DDL、DCL的概念与区别

DQLDMLDDLDCL的概念与区别

SQL(Structure Query Language)语言是数据库的核心语言。

SQL是一个标准的数据库语言,是面向集合的描述性非过程化语言。
它功能强,效率高,简单易学易维护
. SQL语言的分类

SQL语言共分为四大类:

数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL

1. 数据查询语言DQL
数据查询语言DQL基本结构是由SELECT(select)子句,FROM(from)子句,WHERE(where)
子句组成的查询块:
SELECT <字段名表>
FROM <
表或视图名>
WHERE <
查询条件>

2 .
数据操纵语言DML
数据操纵语言DML主要有三种形式:
1) 插入:INSERT(insert)
2)
更新:UPDATE(update)
3)
删除:DELETE(delete)

SELECT 列名称 FROM 表名称
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
DELETE FROM 表名称 WHERE 列名称 = 值



3. 数据定义语言DDL
数据定义语言DDL用来创建数据库中的各种对象-----表、视图、
索引、同义词、聚簇等如:

create    table      view    index     syn    cluster
CREATE   TABLE/   VIEW/  INDEX/   SYN/  CLUSTER
             |         |        |         |       |
            
       视图     索引     同义词   

DDL操作是隐性提交的!不能rollback 

4.
数据控制语言DCL
数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制
数据库操纵事务发生的时间及效果,对数据库实行监视等。如:
1) GRANT:授权。


2) ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一点。
回滚---ROLLBACK
回滚命令使数据库状态回到上次最后提交的状态。其格式为:
SQL>ROLLBACK;


3) COMMIT [WORK]:提交。


    在数据库的插入、删除和修改操作时,只有当事务在提交到数据
库时才算完成。在事务提交前,只有操作数据库的这个人才能有权看
到所做的事情,别人只有在最后提交完成后才可以看到。
提交数据有三种类型:显式提交、隐式提交及自动提交。下面分
别说明这三种类型。


(1) 显式提交
COMMIT命令直接完成的提交为显式提交。其格式为:
SQL>COMMIT


(2) 隐式提交
SQL命令间接完成的提交为隐式提交。这些命令是:
ALTERAUDITCOMMENTCONNECTCREATEDISCONNECTDROP
EXITGRANTNOAUDITQUITREVOKERENAME


(3) 自动提交
若把AUTOCOMMIT设置为ON,则在插入、修改、删除语句执行后,
系统将自动进行提交,这就是自动提交。其格式为:
SQL>SET AUTOCOMMIT ON

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

sql语句中删除表 drop、truncate和delete的用法

方法/步骤

  1. 1

    drop table xx --xx是数据表的名字

    作用:删除内容和定义,释放空间。简单来说就是把整个表去掉.以后要新增数据是不可能的,除非新增一个表。

     drop table test,就是把整个表 移除.里面的数据都消失

        执行 drop table FC_Products后,FC_Products删除的一干二净。

  1. 2

    truncate table xx

    作用:删除内容、释放空间但不删除定义。与drop不同的是,他只是清空表数据而已,不删除表结构。

    如下 test表有数据。

    执行 truncate table  test 后,内容被删除 表结构还在。

         truncate 释放空间的体现。truncate table test 后 向test表添加数据,id标识列连续了(体现了truncate删除是释放空间)

  1. 3

    用delete删除 数据,然后添加。可以看到添加之后id标识不连续。(说明delete删除不释放空间)

        delete table xx

        作用:也是删除整个表的数据,但是过程是痛苦的(系统一行一行地删,效率较truncate低) 或delete table tb where 条件

        删除内容不删除定义,不释放空间。

truncate 与delete 比较:

      truncate table 在功能上与不带 WHERE 子句的 delete语句相同:二者均删除表中的全部行。

      truncate 比 delete速度快,且使用的系统和事务日志资源少。

      truncate 操作后的表比Delete操作后的表要快得多。

     当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能。 

END

注意事项

  • truncate 不能删除行数据,要删就要把表清空

猜你喜欢

转载自blog.csdn.net/weixin_42191996/article/details/88085103
今日推荐