Oracale数据处理和约束

数据处理

其他DML语句:

  1. INSERT

    ①INSERT INTO table [(column [, column…])]

    VALUES (value [, value…]);

    使用这种语法一次只能向表中插入一条数据。

    不能使用这种方式同时向表中插入多条数据

    ②通过创建脚本的方式

    如:INSERT INTO departments

    (department_id, department_name, location_id)

    VALUES (&department_id, ‘&department_name’,&location);

    和C语言中取地址符类似

    ③INSERT INTO sales_reps(id, name, salary, commission_pct)

    SELECT employee_id, last_name, salary, commission_pct

    FROM employees

    WHERE job_id LIKE ‘%REP%’;

    从其他表中拷贝数据,可以根据WHERE子句来确定是否插入数据,以及插入什么数据

  2. UPDATE

    UPDATE table

    SET column = value [, column = value, …]

    [WHERE condition];

    可以一次更新多条数据:同样的用WHERE子句来控制

    同样的也可以在UPDATE语句中使用子查询

  3. DELETE

    DELETE FROM table

    [WHERE condition];

    同样的也可以在DELETE语句中使用子查询

  4. 事务控制

    事务:一组逻辑操作单元,使数据从一种状态变换到另一种状态。

    组成:

    一个或多个DML 语句

    一个 DDL(Data Definition Language – 数据定义语言) 语句

    执行:

    以第一个 DML 语句的执行作为开始

    以下面的其中之一作为结束:

    COMMIT 或 ROLLBACK 语句

    DDL 语句(自动提交)

    用户会话正常结束

    系统异常终止

    事务控制:

    COMMIT

    ROLLBACK

    SAVEPOINT(ROLLBACK TO SAVEPOINT)

约束

约束是一种规定

**NOT NULL

UNIQUE

PRIMARY KEY

FOREIGN KEY

CHECK**

创建表的同时可以创建约束

创建表后可以修改约束

可以在表级或列级定义约束

可以通过数据字典来查看约束

表级约束和列级约束:

  1. 作用范围:

    ①列级约束只能作用在一个列上

    column [CONSTRAINT constraint_name] constraint_type,

    ②表级约束可以作用在多个列上(当然表级约束也

    可以作用在一个列上)

    column,…

    [CONSTRAINT constraint_name] constraint_type

    (column, …),

  2. 定义方式:列约束必须跟在列的定义后面,表约束不与列一起,而是单独定义。
  3. 非空(not null) 约束只能定义在列上

UNIQUE :

唯一约束,允许出现多个空值:NULL。

FOREIGN KEY:

FOREIGN KEY: 在表级指定子表中的列

REFERENCES: 标示在父表中的列

ON DELETE CASCADE(级联删除): 当父表中的列被删除时,子表中相对应的列也被删除

ON DELETE SET NULL(级联置空): 子表中相应的列置空

CHECK:

可以理解为自定义约束

约束的添加和删除
  1. 添加约束

    ALTER TABLE table

    ADD [CONSTRAINT constraint] type (column);

    添加或删除约束,但是不能修改约束

    有效化或无效化约束

    添加 NOT NULL 约束要使用 MODIFY 语句

  2. 删除约束

    ALTER TABLE employees

    DROP CONSTRAINT emp_manager_fk;

  3. 无效化约束

    ALTER TABLE employees

    DISABLE CONSTRAINT emp_emp_id_pk;

    Table altered.

  4. 激活约束

    ALTER TABLE employees

    ENABLE CONSTRAINT emp_emp_id_pk;

查询约束
  1. 查询约束:

    查询数据字典视图 USER_CONSTRAINTS

    SELECT constraint_name, constraint_type,

    search_condition

    FROM user_constraints

    WHERE table_name = ‘EMPLOYEES’;

  2. 查询定义约束的列:

    查询数据字典视图 USER_CONS_COLUMNS

    SELECT constraint_name, column_name

    FROM user_cons_columns

    WHERE table_name = ‘EMPLOYEES’;

练习的话,我会单独写一篇。因为学sql主要就是的练,最难的部分就是子查询,需要多练,这里给大家说一下我认为比较高效的联系方法,就是一定要注意书写格式,例如:

--查询平均工资最低的部门信息和该部门的平均工资
SELECT d.*, (SELECT avg(salary)
          FROM employees
          WHERE department_id = d.department_id)
FROM departments d
WHERE department_id = (
                      SELECT department_id
                      FROM employees
                      GROUP BY department_id
                      HAVING avg(salary) = (
                                           SELECT min(avg(salary))
                                           FROM employees
                                           GROUP BY department_id
                      )
)

这样的书写格式方便分析

时间: 2024-10-22 05:07:31

Oracale数据处理和约束的相关文章

开源大数据处理系统/工具大全

本文一共分为上下两部分.我们将针对大数据开源工具不同的用处来进行分类,并且附上了官网和部分下载链接,希望能给做大数据的朋友做个参考.下面是第一部分. 查询引擎 一.Phoenix 贡献者::Salesforce 简介:这是一个Java中间层,可以让开发者在Apache HBase上执行SQL查询.Phoenix完全使用Java编写,代码位于GitHub上,并且提供了一个客户端可嵌入的JDBC驱动. Phoenix查询引擎会将SQL查询转换为一个或多个HBase scan,并编排执行以生成标准的J

(转载)SQL基础--> 约束(CONSTRAINT)

感谢Leshami的分享,原文地址:http://blog.csdn.net/leshami/article/details/5711367 --============================= --SQL基础--> 约束(CONSTRAINT) --============================= 一.几类数据完整性 实体完整性:表中记录不重复(任何两条记录不全等)并且每条记录都有一个非空主键 域完整性:表中字段值必须与字段数据类型.格式.有效范围相吻合 参照完整性:不能引

Asp.net 面向接口可扩展框架之数据处理模块及EntityFramework扩展和Dapper扩展(含干货)

面向接口数据处理模块是什么意思呢?实际上很简单,就是使用面向接口的思想和方式来做数据处理. 还提到EntityFramework和Dapper,EntityFramework和Dapper是.net环境下推崇最高的两种ORM工具. 1.EntityFramework是微软出的根正苗红的.netd的ORM工具,直接在Vs工具和Mvc框架中集成了,默认生成的项目就是使用EntityFramework的;微软也一直都在维护更新升级,最新版本最新版本都在EF7了.也迁移到了最新的.net Core平台了

SQL基础--> 约束(CONSTRAINT)

一.几类数据完整性 实体完整性:表中记录不重复(任何两条记录不全等)并且每条记录都有一个非空主键 域完整性:表中字段值必须与字段数据类型.格式.有效范围相吻合 参照完整性:不能引用不存在的值 自定义完整性:根据特定业务领域定义的需求完整性 保证数据完整性的几种常用方法 约束(最常用) 过程 函数 触发器 实体完整性:primary key.unique.索引(index) 域完整性:check.foreign key.not null.数据类型 参照完整性:foreign key 自定义完整性:

编程三大核心内容之一:数据处理

ADO.NET Entity Framework 是对象-关系映射架构,使用CSDL概念架构定义语言和SSDL存储架构定义语言给出数据库和实体类之间的映射信息.这个架构是现阶段最易使用的高层次的数据处理方案. Visual Studio集成开发环境 自带的 实体数据模型设计器 使用.edmx文件保存信息,生成 CSDL概念架构定义语言.csdl文件.SSDL存储架构定义语言.ssdl文件和MSL映射规范语言.msl文件. 一.概念层csdl 1.杂项 实体容器:System.Data.Objec

SQL基础--> 约束(CONSTRAINT)

--============================= --SQL基础--> 约束(CONSTRAINT) --============================= 一.几类数据完整性 实体完整性:表中记录不反复(不论什么两条记录不全等)而且每条记录都有一个非空主键 域完整性:表中字段值必须与字段数据类型.格式.有效范围相吻合 參照完整性:不能引用不存在的值 自己定义完整性:依据特定业务领域定义的需求完整性 保证数据完整性的几种经常用法 约束(最经常使用) 过程 函数 触发器 实体

[转载] 一共81个,开源大数据处理工具汇总(上)

原文: http://www.36dsj.com/archives/24852 本文一共分为上下两部分.我们将针对大数据开源工具不同的用处来进行分类,并且附上了官网和部分下载链接,希望能给做大数据的朋友做个参考.下面是第一部分. 查询引擎 一.Phoenix 贡献者::Salesforce 简介:这是一个Java中间层,可以让开发者在Apache HBase上执行SQL查询.Phoenix完全使用Java编写,代码位于GitHub上,并且提供了一个客户端可嵌入的JDBC驱动. Phoenix查询

Mysql数据处理/行转列/列转行/分割/拼接/数据复制汇总

mysql数据处理记录(使用的 Workbench) 生成随机数 逗号或分号拼接的字符串分割成多行 多行数据转化成用逗号拼接的字符串 将A表的数据添加到B表 一.生成随机数 生成18位:(19位就加颗0 / 17位就减0) SELECT FLOOR(+ RAND() * 10000000000000000000) 二.将字符串分割(行转列) select a.ID,substring_index(substring_index(a.B,',',b.help_topic_id+1),',',-1)

DSMM之数据处理安全

一.背景 数据安全生命周期分为采集.传输.存储.处理.交换.销毁几个阶段,其中数据处理阶段是整个周期的核心阶段,数据处理安全与否直接关系到整体数据安全.那么今天分享内容就是数据处理安全的相关要求和实现目标. 我们知道DSMM分为5个成熟度等级分别为:非正式执行.计划跟踪.充分定义.量化控制.持续优化:安全能力的维度包括组织建设.制度流程.技术工具.人员能力.我们在落地执行的时候一般按照等级3即充分定义级进行相关的工作,因为在充分定义级里面完整的包含了安全能力维度的四个方面,而等级1和等级2是没有