博客
关于我
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/

    你可能感兴趣的文章
    NTP及Chrony时间同步服务设置
    查看>>
    NTP服务器
    查看>>
    NTP配置
    查看>>
    NUC1077 Humble Numbers【数学计算+打表】
    查看>>
    NuGet Gallery 开源项目快速入门指南
    查看>>
    NuGet(微软.NET开发平台的软件包管理工具)在VisualStudio中的安装的使用
    查看>>
    nuget.org 无法加载源 https://api.nuget.org/v3/index.json 的服务索引
    查看>>
    Nuget~管理自己的包包
    查看>>
    NuGet学习笔记001---了解使用NuGet给net快速获取引用
    查看>>
    nullnullHuge Pages
    查看>>
    NullPointerException Cannot invoke setSkipOutputConversion(boolean) because functionToInvoke is null
    查看>>
    null可以转换成任意非基本类型(int/short/long/float/boolean/byte/double/char以外)
    查看>>
    Numix Core 开源项目教程
    查看>>
    numpy
    查看>>
    NumPy 库详细介绍-ChatGPT4o作答
    查看>>
    NumPy 或 Pandas:将数组类型保持为整数,同时具有 NaN 值
    查看>>
    numpy 或 scipy 有哪些可能的计算可以返回 NaN?
    查看>>
    numpy 数组 dtype 在 Windows 10 64 位机器中默认为 int32
    查看>>
    numpy 数组与矩阵的乘法理解
    查看>>
    NumPy 数组拼接方法-ChatGPT4o作答
    查看>>