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

你可能感兴趣的文章
Netbeans 8.1启动参数配置
查看>>
NetBeans IDE8.0需要JDK1.7及以上版本
查看>>
NetBeans之JSP开发环境的搭建...
查看>>
NetBeans之改变难看的JSP脚本标签的背景色...
查看>>
netbeans生成的maven工程没有web.xml文件 如何新建
查看>>
netcat的端口转发功能的实现
查看>>
NetCore 上传,断点续传,可支持流上传
查看>>
Netcraft报告: let's encrypt和Comodo发布成千上万的网络钓鱼证书
查看>>
Netem功能
查看>>
netfilter应用场景
查看>>
Netflix:当你按下“播放”的时候发生了什么?
查看>>
Netflix推荐系统:从评分预测到消费者法则
查看>>
netframework 4.0内置处理JSON对象
查看>>
Netgear WN604 downloadFile.php 信息泄露漏洞复现(CVE-2024-6646)
查看>>
Netgear wndr3700v2 路由器刷OpenWrt打造全能服务器(十一)备份
查看>>
netlink2.6.32内核实现源码
查看>>
netmiko 自动判断设备类型python_Python netmiko模块的使用
查看>>
NetMizer 日志管理系统 多处前台RCE漏洞复现
查看>>
NetMizer-日志管理系统 dologin.php SQL注入漏洞复现(XVE-2024-37672)
查看>>
Netpas:不一样的SD-WAN+ 保障网络通讯品质
查看>>