加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Oracale数据处理和约束

发布时间:2020-12-14 02:45:28 所属栏目:大数据 来源:网络整理
导读:数据处理 其他DML语句: INSERT ①INSERT INTO table [(column [,column…])] VALUES (value [,value…]); 使用这种语法一次只能向表中插入一条数据。 不能使用这种方式同时向表中插入多条数据 ②通过创建脚本的方式 如:INSERT INTO departments (departmen

数据处理

其他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,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 ) )

这样的书写格式方便分析

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读