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

你可能感兴趣的文章
mySql分页Iimit优化
查看>>
MySQL分页查询
查看>>
mysql列转行函数是什么
查看>>
mysql创建函数报错_mysql在创建存储函数时报错
查看>>
mysql创建数据库和用户 并授权
查看>>
mysql创建数据库指定字符集
查看>>
MySql创建数据表
查看>>
MySQL创建新用户以及ERROR 1396 (HY000)问题解决
查看>>
MySQL创建用户与授权
查看>>
MySQL创建用户报错:ERROR 1396 (HY000): Operation CREATE USER failed for 'slave'@'%'
查看>>
MySQL创建索引时提示“Specified key was too long; max key length is 767 bytes”
查看>>
mysql初始密码错误问题
查看>>
mysql判断某一张表是否存在的sql语句以及方法
查看>>
mysql加入安装策略_一键安装mysql5.7及密码策略修改方法
查看>>
mysql加强(1)~用户权限介绍、分别使用客户端工具和命令来创建用户和分配权限
查看>>
mysql加强(3)~分组(统计)查询
查看>>
mysql加强(4)~多表查询:笛卡尔积、消除笛卡尔积操作(等值、非等值连接),内连接(隐式连接、显示连接)、外连接、自连接
查看>>
mysql加强(5)~DML 增删改操作和 DQL 查询操作
查看>>
mysql加强(6)~子查询简单介绍、子查询分类
查看>>
mysql加强(7)~事务、事务并发、解决事务并发的方法
查看>>