跟着梓晨学SQL:数据处理与事务控制

在SQL中数据操作语言主要有三种,分别为DML、DDL、DCL

SQL中数据操作语言主要有三种,分别为DML、DDL、DCL,i含义分别为:

DML(data manipulation language):是数据操纵语言:它们是SELECT、UPDATE、INSERT、DELETE,就像它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言。

DDL(data definition language):是数据定义语言:DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间 的链接和约束等初始化工作上,他们大多在建立表时使用。

DCL(Data Control Language):是数据库控制语言:是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。

今天我们主要是讲解DML和DDL数据操作语言。

1:DDL

I:Create table为创建表的命令,首先我们创建一张表mop.t_sys_group,包含的列名有fid、fname、fclass;

SQL>create table mop.t_sys_group

(fid number(20) not null,

Fname varchar2(20),

Fclass varchar2(20)

);

Table create—此时我们已经成功创建表mop.t_sys_group

(注:也可以根据已有的表去创建表,如我们创建表group,可以使用mop.t_sys_group进行创建group:

SQL> create table group(fid,fname,fclass)

As

(select fid,fname,fclass

From mop.t_sys_group)– Table create)

II:Alter table为修改表的结构的命令,我们可以通过此命令去增加列或改变数据存储的空间大小,如我们现在需要对表mop.t_sys_group新增一列faddress,同时将fname的存储空间更改为50.

SQL>alter table mop.t_sys_group

add faddress varchar2(50)

table alter—此时已经新增一列faddress

SQL>alter table mop.t_sys_group

modify fname varchar2(50)

table alter—此时已经fname的存储空间已经更改为50

III:drop table为删除表的命令

SQL>drop table mop.t_sys_group

Table drop–此时表已经彻底

此种删除容易造成误删且难以修复,因此我们推荐使用以下的删除方法

SQL>drop table owner.mop.t_sys_group

Table drop—给出该表所有的所属数据库或工程的名字。

2:DML

I:Update为更新命令,一般与set连用,如我们现在需要更新表mop.t_sys_group中fid为2的fname为“卧龙大数据”:

SQL>update mop.t_sys_group

set fname=’卧龙大数据’

where fid=2;

1 row update

(注:如果update省略了where子句,那么表中的所有记录都会被更新,当发现操作错误时候,可以利用rollback进行回滚)

II:Insert为插入命令,一般与into一并使用。如我们现在要向mop.t_sys_group中插入一行,其操作为:

SQL>Insert into mop.t_sys_group(/*fid,fname,fclass,faddress*/)

Values(3,’卧龙大数据’,’平台’,’深圳’);

1 row created

(注:上面所述的插入方法可以归结为insert values语句,此操作一次只能插入一行。但是我们也可以利用现有的表进行插入,可以归结为insert select语句,此操作一次可以插入多行,我们利用group表中的数据向mop.t_sys_group插入数据;

SQL>insert into mop.t_sys_group(fid,fname,fclass,faddress)

Select fid,fname,fclass,faddress from group

4 rows created)

III:Delete为删除行的操作,一般与from连用,可以删除单一的行,也可以删除多行甚至所有行,例如我们删除表mop.t_sys_group中fid为1的行,则其操作为:

SQL>delete from mop.t_sys_group where fid=1

1 row deleted—(如果省略where子句则会删除所有行)

在后续的学习中我们还会遇到一个函数为truncate函数,如:

SQL>truncate table mop.t_sys_group

此操作无法rollback进行回滚,而

SQL>delete from mop.t_sys_group

可以进行rollback,这是两者之间最大的区别。

3:事务控制

事务控制可以定义为一个有组织的工作单元,通常是由之前介绍的一些语句查询等共同组成,类似为java中单线程与多线程,可以对比理解。事务控制控制的常用命令有commit(结束事务进程)、rollback(取消事务进程)、savepoint(在事务进程中设置保存点)等。

在当前用户访问处理事务未结束时,则该项目会被锁定,其他用户访问后无法对其项目进行操作,只有当该事务结束后,才能解锁。

由于DCL一般为数据库权限与角色控制语句,将会在后续的章节中进行阐述,由于时间关系,今晚就写到这里。

作者简介:梓晨,安徽大学毕业,目前在金蝶软件(中国)有限公司从事数据分析工作,数据分析探索与爱好者。

本文为专栏文章,来自:梓晨,内容观点不代表本站立场,如若转载请联系专栏作者,本文链接:https://www.afenxi.com/35038.html 。

(0)
梓晨的头像梓晨专栏
上一篇 2016-10-18
下一篇 2016-10-25

相关文章

  • 38年后的今天,用数据回顾什么是女排精神?

    每当我们足篮打水一场空时,总会想起女排。38年前,1981年11月16日,中国队击败当时号称“东洋魔女“的日本女排,首次夺得世界冠军,这也是中国在三大球运动(足球、篮球、排球)中的首个世界冠军。

    2019-11-24
    0
  • 关于竞品分析,这应该是最实用的分析流程

    为什么要做竞品分析无非就是当你有了一个初步的产品想法之后,但是却不能够明确这个想法到底靠不靠谱,它是否真的解决了用户的某些需求,这些需求算不算痛点,也不知道市面上是否已经有了与你想法相似的产品,他们是怎么做的,是否做得足够好,还有哪些待挖掘的机会等等。 此时你脑中的想法一定只是个demo版,非常的初级,是一个朦朦胧胧的状态,甚至你都说不清它到底是来源于哪里,…

    2016-02-15
    0
  • 从商业视角理解数据:数据科学家的思维之路

    文 | tvjoseph 翻译 | 胡杨&戴丹王婷 曹翔 陈少伟 在过去的几个月内,来自不同行业人不约而同问我能否提供一个端到端的视图,使他们了解成为一个数据科学家的思维过程。为这个问题寻找答案时,我想的不仅仅是提供一个端到端的视图过程,而是面对一个分析问题时我们应该更深入的了解他/她是怎么想的。 接下来我将分五个板块带领大家体验数据科学家的思维之路…

    2017-07-26
    0
  • 其实这些数据科学专长 才是雇主们最想要的

    摘要:哪些数据科学专长才是雇主们最想要的? 这是一个好消息,如果你希望在2016年找一份数据科学的工作—在该领域职位空缺的数量正在不断增加,企业希望利用大数据来获得竞争优势。但事实上,找一份梦寐以求的数据科学工作就意味着你要具备一些技能的组合,你可能会惊讶学习哪些技能是雇主所最需要的。 最近,人们在CrowdFlower上针对Linkedin的3490个数据…

    2016-02-16
    0
  • 英国的奥运奖牌大丰收,您可以从他们的数据分析战略学到哪些

    英国做了些什么:英国依靠优势领域,而不是期待在从未收获的领域获得成功。

    2016-10-05
    0
关注我们
关注我们
分享本页
返回顶部