博客
关于我
Oracle系列(二)、SQL和操作符
阅读量:646 次
发布时间:2019-03-13

本文共 1741 字,大约阅读时间需要 5 分钟。

第二章、SQL和操作符

2.1、学习目标

理解SQL及其作用,了解数据定义语言和数据操作语言,掌握SQL操作符的使用,以及何时、如何使用SQL。


2.2、SQL概述

SQL(Structured Query Language,结构化查询语言)是Oracle使用的标准数据库语言,主要用于存储和检索数据。SQL允许用户向Oracle服务器发送查询指令,实现与数据库的通信。

SQL的主要功能包括数据的存储、检索、定义和管理,通过SQL操作数据库中的表(如部门表和员工表),实现与数据库的连接和数据操作。


2.3、SQL操作语言分类

SQL操作语言可按不同功能分类如下:

  • DML(数据操作语言):负责数据的插入、更新、删除等操作,包括SELECTINSERTDELETEUPDATE等语句。
  • DCL(数据库控制语言):负责数据库的安全管理,如权限授予和撤销,包括GRANTREVOKE等操作。
  • DDL(数据库定义语言):负责数据库结构的定义与修改,如表的创建、删除及字段的增删改,包括CREATE TABLEDROP TABLEALTER TABLE等语句。
  • TCL(事务控制语言):负责事务的管理,确保数据库操作的原子性、一致性和持久性,包括COMMITROLLBACKSAVEPOINT等操作。

2.4、SQL操作符概述

SQL操作符可以分为以下几类:

  • 算术操作符

    • 加(+
    • 减(-
    • 乘(*
    • 除(/
    • 通常用于数值计算,例如3 + 5 = 8
  • 连接操作符

    • 用于将字符串或数据值合并成一个字符串,常用于文本拼接操作,例如CONCAT(``(A名), (B名))`。
  • 比较操作符

    • 等于(=
    • 不等于(<!=>
    • 小于(<
    • 大于(>
    • 小于等于(<=
    • 大于等于(>=
    • BETWEEN和..., 用于范围查询。
    • IN,用于列举值的查询。
    • LIKE,用于模式匹配查询。
    • IS NULL,用于判断是否为空。
  • 逻辑操作符

    • 与(AND
    • 或(OR
    • 非(NOT
    • 用于构建复杂逻辑表达式。

  • 实例操作说明

    • 创建部门表

      CREATE TABLE Dept (  deptid VARCHAR2(20) NOT NULL,  deptname VARCHAR2(30) NOT NULL,  deptdesc VARCHAR2(100),  deptcdate DATE);
    • 删除表

      DROP TABLE Dept;
    • 添加主键约束

      ALTER TABLE Dept ADD CONSTRAINT pk_dept_deptid PRIMARY KEY (deptid);
    • 创建员工表

      CREATE TABLE Employee (  empid VARCHAR2(20) NOT NULL,  empname VARCHAR2(20) NOT NULL,  sex CHAR(3) CHECK (sex = '男' OR sex = '女'),  age NUMBER(3),  deptid VARCHAR2(20) REFERENCES Dept(deptid));
    • 添加外键约束(级联删除)

      ALTER TABLE Employee ADD CONSTRAINT fk_employee_deptid2 FOREIGN KEY (deptid) REFERENCES Dept(deptid) ON DELETE CASCADE;
    • 修改列属性

      ALTER TABLE Employee MODIFY (empdesc VARCHAR2(30));
    • 修改列名

      ALTER TABLE Employee RENAME COLUMN empdesc TO empdescription;

    级联删除(外键)

    在数据库中,外键约束可以设置以下四种行为:

  • No action(默认行为):无法直接删除主表中的数据(如果从表中存在关联数据)。
  • Cascade: 删除主表中数据时,自动删除所有相关的从表记录。
  • Set null: 删除主表中的数据,只将从表中的外键列设置为空,不会删除相关记录。
  • 删除主表,保留数据: 不删除主表中的数据,也不会对从表产生任何影响。
  • 转载地址:http://wauaz.baihongyu.com/

    你可能感兴趣的文章
    python | Python中的弱引用与内存管理
    查看>>
    python | Python中的类多态:方法重写和动态绑定
    查看>>
    python | Python作用域链查找机制
    查看>>
    python | Python动态代码执行:exec和compile函数
    查看>>
    python | Python反向迭代:reversed实现机制
    查看>>
    python | Python模块缓存:sys.modules机制
    查看>>
    python | Python集成学习和随机森林算法
    查看>>
    python | pytime,一个实用的 时间和日期处理 Python 库!
    查看>>
    python | pyupgrade,一个有趣的 Python 库!
    查看>>
    python | pyvips,一个神奇的 图像处理 Python 库
    查看>>
    Python | qutip,一个高级的 Python 库!
    查看>>
    python | rapidjson,一个实用的 提高JSON处理效率 Python 库!
    查看>>
    python | reflex,一个无敌的 Python 库!
    查看>>
    python | reloading,一个强大的 Python 库!
    查看>>
    python | rich,一个无敌的 Python 库!
    查看>>
    python | rlax,一个超强的 强化学习领域 Python 库!
    查看>>
    python | rpyc,一个超实用的 Python 库!
    查看>>
    python | rq,一个无敌的 关于Redis 的Python 库!
    查看>>
    python读取字符串指定位置字符_python要怎么截取指定位置的字符串呢?
    查看>>
    python | scikit-llm,一个神奇的 Python 库!
    查看>>