博客
关于我
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(数据操作语言):负责数据的插入、更新、删除等操作,包括SELECT、INSERT、DELETE、UPDATE等语句。
  • DCL(数据库控制语言):负责数据库的安全管理,如权限授予和撤销,包括GRANT、REVOKE等操作。
  • DDL(数据库定义语言):负责数据库结构的定义与修改,如表的创建、删除及字段的增删改,包括CREATE TABLE、DROP TABLE、ALTER TABLE等语句。
  • TCL(事务控制语言):负责事务的管理,确保数据库操作的原子性、一致性和持久性,包括COMMIT、ROLLBACK、SAVEPOINT等操作。

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 WebSocket自动化测试:构建高效接口测试框架
    查看>>
    Python Web开发
    查看>>
    Redis 配置文件杂项。
    查看>>
    Python web自动化测试 —— 文件上传
    查看>>
    python win32api键盘_Python win32api.keybd_event模拟键盘输入
    查看>>
    python Workbook 表格宽度
    查看>>
    python 中 dict 的另一种用法
    查看>>
    Python 中只有一个 True 和一个 False 对象吗?
    查看>>
    Python 中多线程与多处理之间的区别
    查看>>
    Python 从入门到精通:30天速成教程到底有多狠?你能坚持下来吗?
    查看>>
    Python 从数据库中存储和检索密码的最安全方法
    查看>>
    Python语言及其应用 - 知识点遍历
    查看>>
    Python 优化提速的 8 个小技巧
    查看>>
    Python 余弦相似度与皮尔逊相关系数 计算
    查看>>
    python 使用execjs 报编码错误解决办法,UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xac in position 145: il
    查看>>
    python 使用filetype校验文件
    查看>>
    Python 使用flush函数将缓冲区数据立即写磁盘
    查看>>
    python 使用in判断不准确,in不好使
    查看>>
    Python 使用pandas 进行查询和统计详解
    查看>>
    Redis 配置文件redis.conf详细解释
    查看>>