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

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

第二章、SQL和操作符

2.1、学习目标

  • 理解SQL及其作用

  • 了解数据定义语言和数据操作语言

  • 了解事务控制语言和数据控制语言

  • 掌握 SQL 操作符

  • WHAT(SQL是什么?)

    ——Structured Query Language,结构化查询语言

  • WHY(为何要使用SQL**?****)**

    ——难道仅仅使用,PL/SQL Developer操作数据库?
    ——应用程序如何与数据库打交道

  • WHEN(何时使用?)

    ——对Oracle执行所有的操作都可以
    ——程序中的增删改查

  • HOW(怎么使用?)

    ——…

2.2、SQL概述

  • SQL是Structured Query Language(结构化查询语言)的首字母缩写词;
  • SQL是数据库语言,Oracle使用该语言存储和检索信息;
  • 表示主要的数据对象,用于存储数据;
  • 通过SQL可以实现与Oracle服务器的通信。
    在这里插入图片描述

2.3、SQL操作语言

  • DML(数据操作语言)
    ——查询、插入、删除和修改数据库中的数据
    ——SELECT、INSERT、DELETE、UPDATE等
  • DCL(数据库控制语言)
    ——用来控制存取许可、存储权限等
    ——GRANT、REVOKE等
  • DDL(数据库定义语言
    ——用来建立数据库、数据库对象和定义其列
    ——CREATE TABLE、DROP TAVLE、ALTER TABLE等
  • TCL(事务控制语言)
    ——COMMIT(提交并结束事务处理)、SAVEPOINT(标记事务中可以回滚的带点)、ROLLBACK(撤销事务中已经完成的工作)等

2.4、SQL操作符

  • 算出操作符
    1. 算数操作符用于执行数值计算;
    2. 可以在SQL语句中使用算数表达式,算数表达式由数值数据类型的列名、数值常量和连接他们的算数操作符组成;
    3. 算数操作符包括加(+)、减(-)、乘(*)、除(/)
  • 连接操作符
    连接操作符用于将多个字符串或数据值合并成一个字符串。
  • 比较操作符
    1. 比较操作符用于比较两个表达式的值;
    2. 比较操作符包括=、!=、<、>、<=、>=、between…and、in、like、is null等。
  • 逻辑操作符
    1. 逻辑操作符用于组合多个计较运算的结果以生成一个或真或假的结果;
    2. 逻辑操作符包括与(and)、或(or)、非(not)。

实例操作如下

--创建Dept部门表create table Dept( deptid varchar2(20),   --部门id deptname varchar2(30),  --部门名称 deptdesc varchar2(100), --部门描述 deptcdate date          --创建日期)--删除表drop table Dept;--alter table--添加主键alter table Dept add constraint pk_dept_deptid primary key(deptid);--创建员工表create table Employee(  empid varchar2(20),     --员工id  empname varchar2(20),   --员工姓名  sex char(3),            --性别(男,女)  age number(3),          --年龄  deptid varchar2(20)     --隶属部门(作为外键))--添加主键 primary keyalter table Employee add constraint pk_employee_empid primary key(empid);--添加检查约束(性别)check_sexalter table Employee add constraint ck_employee_sex check(sex = '男' or sex = '女');--添加约束 (年龄) check_agealter table Employee add constraint ck_employee_age check(age>=18 and age<=120);alter table Employee add constraint ck_employee_age check(age between 18 and 120);--添加外键约束 fk_deptidalter table Employee add constraint fk_employee_deptid2 foreign key(deptid) references Dept(deptid); --添加列alter table Employee add(empdesc);--修改列属性alter table Employee modify(empdesc varchar2(30));--修改列名alter table Employee rename column empsdesc to empdescription;

级联删除(外键)

–默认No action 不可直接删除主表中数据(已找到从表中关联数据)

–Cascade 删除主表中数据,连并一下把关联的从表中的数据全部删除
–Set null 删除主表中数据,只是单纯把从表中外键那一列设为空值了,并不会删除从表中关联的整行数据

转载地址:http://wauaz.baihongyu.com/

你可能感兴趣的文章
Netty工作笔记0025---SocketChannel API
查看>>
Netty工作笔记0027---NIO 网络编程应用--群聊系统2--服务器编写2
查看>>
Netty工作笔记0028---NIO 网络编程应用--群聊系统3--客户端编写1
查看>>
Netty工作笔记0034---Netty架构设计--线程模型
查看>>
Netty工作笔记0050---Netty核心模块1
查看>>
Netty工作笔记0057---Netty群聊系统服务端
查看>>
Netty工作笔记0060---Tcp长连接和短连接_Http长连接和短连接_UDP长连接和短连接
查看>>
Netty工作笔记0063---WebSocket长连接开发2
查看>>
Netty工作笔记0070---Protobuf使用案例Codec使用
查看>>
Netty工作笔记0072---Protobuf内容小结
查看>>
Netty工作笔记0074---handler链调用机制实例1
查看>>
Netty工作笔记0077---handler链调用机制实例4
查看>>
Netty工作笔记0081---编解码器和处理器链梳理
查看>>
Netty工作笔记0083---通过自定义协议解决粘包拆包问题1
查看>>
Netty工作笔记0084---通过自定义协议解决粘包拆包问题2
查看>>
Netty工作笔记0085---TCP粘包拆包内容梳理
查看>>
Netty常用组件一
查看>>
Netty常见组件二
查看>>
netty底层源码探究:启动流程;EventLoop中的selector、线程、任务队列;监听处理accept、read事件流程;
查看>>
Netty心跳检测
查看>>