目录:导读

  • 一、简介
  • 二、数据类型
    • 常用数据类型
  • 三、数据定义
    • 建表
    • 约束
  • 四、数据操纵
    • 增加数据
    • 删除数据
    • 修改数据
    • 查询语句
    • 数据提交/回退
  • 五、SQL操作符
    • 算术操作符
    • 比较操作符
    • 逻辑操作符
    • 连接操作符
    • 操作符优先级

一、简介

Oracle 数据库是 Oracle(中文名称叫甲骨文)公司的核心产品,Oracle 数据库是一个适合于大中型企业的数据库管理系统。在所有的数据库管理系统中(比如:微软的 SQL Server,IBM 的 DB2 等),Oracle 的主要用户涉及面非常广,包括:银行、电信、移动通信、航空、保险、金融、电子商务和跨国公司等。Oracle 产品是免费的,可以在 Oracle 官方网站:https://www.oracle.com/上下载到安装包,另一方面 Oracle 服务是收费的

Oracle 公司成立以来,从最初的数据库版本到 Oracle7、Oracle8i、Oracle9i,Oracle10g到 Oracle11g…虽然每一个版本之间的操作都存在一定的差别,但是 Oracle 对数据的操作基本上都遵循 SQL 标准。因此对 Oracle 开发来说版本之间的差别不大

通过 SQL可以实现与 Oracle 服务器的通信

SQL 是 Structured Query Language(结构化查询语言)的首字母缩写词

SQL 是数据库语言,Oracle 使用该语言存储和检索信息

表是主要的数据库对象,用于存储数据

二、数据类型

创建表时,必须为各个列指定数据类型
下图是 Oracle 数据类型的类别:


当需要固定长度的字符串时,使用 CHAR 数据类型
CHAR 数据类型存储字母数字值
CHAR 数据类型的列长度可以是 1 到 2000 个字节

VARCHAR2数据类型支持可变长度字符串
VARCHAR2数据类型存储字母数字值
VARCHAR2数据类型的大小在1至4000个字节范围内

常用数据类型

VARCHAR2 (size):可变长度的字符串, 必须规定长度

CHAR(size):固定长度的字符串, 不规定长度默认值为1

INT:整型

NUMBER(p,s):数字型p是位数总长度, s是小数的长度, 可存负数最长38位. 不够位时会四舍五入

DATE:日期和时间类型

NUMBER(p,s):p表示精度,s表示小数点的位数
NUMBER(5,2):表示整数部分最大3位,小数部分为2位
NUMBER(5,-2):存储整数,最大为7位整数,倒数2位为0,前面的取整
如果把s设成负数,Oracle将把该数字取舍到小数点左的指定位数

三、数据定义

数据定义语言用于改变数据库结构,包括创建、更改和删除数据库对象

用于操纵表结构的数据定义语言命令有:
CREATE TABLE
ALTER TABLE
TRUNCATE TABLE
DROP TABLE

建表

CREATE TABLE 表名
(字段名1 字段类型 PRIMARY KEY,
字段名2 字段类型 NOT NULL,
字段名3 字段类型 DEFAULT 默认值
);
例如:

CREATE TABLE t
(c1 int primary key,c2 varchar2(10) not null,c3 char(1) default 'A'
);

利用现有的表创建表
语法:

CREATE TABLE 目的表名 AS
SELECT 字段列表 FROM 源表名;
CREATE TABLE t2 AS SELECT * FROM t;
CREATE TABLE t3 AS SELECT c1,c2,c3 FROM t;
CREATE TABLE t4 AS SELECT * FROM t WHERE 1 = 2;

约束

可用于建表CREATE TABLE 命令中的语法

PRIMARY KEY:主键,唯一,不能为空,有唯一索引

FOREIGN KEY:外键,与其他表主键间的约束

UNIQUE:唯一约束
CHECK:检查约束,自定义字段数据的范围或规则
NOT NULL:非空约束

例如:

CREATE TABLE t
(t1 int,t2 char not null,t3 char(1) check(t3 in('A','B','C'),constraint pk_a primary key(t1),constraint fk_a foreign key (t2) references b(b1)
);

四、数据操纵

数据操纵语言用于检索、插入和修改数据
数据操纵语言是最常见的SQL命令

数据操纵语言命令包括:
INSERT   (增)
SELECT   (查)
UPDATE   (改)
DELETE   (删)

增加数据

INSERT INTO 表名(字段列表) VALUES(字段值列表);

INSERT INTO t(c1,c2,c3) values(1,2,3);

INSERT INTO 表名(字段列表) SELECT 子句;

INSERT INTO t(c1,c2,c3) select b1,b2,b3 from b;

插入日期类型的值
日期数据类型的默认格式为“DD-MON-YY”
使用日期的默认格式
使用TO_DATE函数转换

INSERT INTO t1 (date_col)
VALUES (TO_DATE('2021-12-26', 'YYYY-MM-DD'));
INSERT INTO t1 VALUES('0001', '24-12月-21');

删除数据

DELETE [FROM] 表名 [WHERE 子句];

DELETE from t ;
DELETE from t where c1=10;

修改数据

UPDATE 表名 SET 字段名=值 [WHERE 子句];

UPDATE t set c1=20;
UPDATE t set c1=20 where c1=30;

修改表结构
修改表结构ALTER TABLE 命令

ALTER TABLE ADD
ALTER TABLE MODIFY
ALTER TABLE DROP

查询语句

SELECT 对象 FROM 对象名;

Oracle的select语句必须有from子句

SELECT 值/字段名
FROM 对象名
WHERE 子句
GROUP BY 子句
HAVING 子句
ORDER BY 子句;

数据提交/回退

COMMIT/ROLLBACK; 提交/回退

INSERT、UPDATE、DELETE操作对数据产生的影响回归段

注意SQL*Plus对数据事务的默认处理方式

CREATE、DROP、TRUNCATE TABLE不经过回退段

五、SQL操作符

Oracle 支持的 SQL 操作符分类如下:

算术操作符

算术操作符用于执行数值计算

可以在SQL语句中使用算术表达式,算术表达式由数值数据类型的列名、数值常量和连接它们的算术操作符组成

算术操作符包括加(+)、减(-)、乘(*)、除(/)

SELECT itemdesc, max_level - qty_hand avble_limit
FROM itemfile WHERE p_category='spares';
SELECT itemdesc, itemrate*(max_level - qty_hand)
FROM itemfile
WHERE p_category='spares';

比较操作符

比较操作符用于比较两个表达式的值

比较操作符包括 =、!=、<、>、<=、>=、BETWEEN…AND、IN、LIKE 和 IS NULL等

SELECT itemdesc, re_levelFROM itemfileWHERE qty_hand < max_level/2;
SELECT orderno FROM order_master
WHERE del_date IN ('24-11月-21','26-12月-21');
SELECT vencode,venname,tel_no
FROM vendor_master
WHERE venname LIKE 'j___s';

逻辑操作符

逻辑操作符用于组合多个计较运算的结果以生成一个或真或假的结果

逻辑操作符包括与(AND)、或(OR)和非(NOT)

SELECT * FROM order_masterWHERE odate > '10-9月-21'AND del_date < '26-12月-21';

显示 2021-9月-10 至 2021-12月-26的订单信息

连接操作符

连接操作符用于将多个字符串或数据值合并成一个字符串

SELECT (venname|| ' 的地址是 '
||venadd1||' '||venadd2 ||' '||venadd3) address
FROM vendor_master WHERE vencode='V001';

通过使用连接操作符可以将表中的多个列合并成逻辑上的一行列

操作符优先级

SQL 操作符的优先级从高到低的顺序是:
算术操作符 --------最高优先级
连接操作符
比较操作符
NOT 逻辑操作符
AND 逻辑操作符
OR 逻辑操作符 --------最低优先级


Oracle数据库教程(一)相关推荐

  1. Oracle数据库教程

    原文连接:https://www.w3cschool.cn/oraclejc/oraclejc-eswu2qqq.html Oracle数据库教程 Oracle数据库是什么? 数据文件(dbf) 表空 ...

  2. Oracle数据库教程(Oracle备份、恢复、升级、迁移)视频教程

    Oracle数据库教程(Oracle备份.恢复.升级.迁移)视频教程 风哥Oracle备份恢复与迁移升级专题包括:Oracle备份恢复基础.用户模式的备份恢复.RMAN备份恢复.Flashback闪回 ...

  3. oracle数据库教程-张晨光-专题视频课程

    oracle数据库教程-978人已学习 课程介绍         Oracle Database,又名Oracle RDBMS,或简称Oracle.是甲骨文公司的一款关系数据库管理系统.它是在数据库领 ...

  4. 视频教程-oracle数据库教程-Oracle

    oracle数据库教程 主要研究方向为J2EE..net .数据库 .前端.Android,曾经服务过大型上市国企IT部门,软件企业联合创始人,对软件研发管理.市场营销有自己独特思想体系! 张晨光 ¥ ...

  5. Maven工具管理下的Spring Boot连接Oracle数据库教程

    Maven工具管理下的Spring Boot连接Oracle数据库教程 一.系统环境 二.操作教程 1.明确Oracle版本 2.找到合适的jar包 3.将jar包配置到Maven本地库中 4.在Ec ...

  6. PLSQL连接远程Oracle数据库教程(Windows11最新详细教程)

    PLSQL连接远程Oracle数据库教程(Windows11最新教程) 1.下载PLSQL,下载后直接下一步安装 https://www.allroundautomations.com/try-it- ...

  7. navicat接入oracle数据库教程

    1.打开navicat应用,点击"工具"->"选项": 2.环境中添加oci的路径(本navicat版本为:12.1.18(64-bit)-Premium ...

  8. 【SpringBoot - 整合并操作Oracle数据库教程(手动添加ojdbc驱动)】

    由于 Oracle 授权问题,Maven 中央仓库不提供 Oracle JDBC driver.Spring Boot 项目如果需要连接 Oracle 数据库,我们必须自行下载相应版本的 Oracle ...

  9. Oracle数据库教程笔记

    视频链接地址: https://www.bilibili.com/video/av53956941 数据库:数据的仓库     以前存放数据:内存.文件     内存: int num = 10 ; ...

最新文章

  1. LeetCode 100相同的树101对称二叉树
  2. 《SaltStack技术入门与实践》—— Job管理
  3. c++读取csv文件示例
  4. MySQL数据库存入日期(java.sql.Date)数据,天数会少一天的问题
  5. 客户网站被黑导致CDN加速后打开域名就提示域名纠错
  6. udp helper 的使用
  7. 拓端tecdat|R语言:EM算法和高斯混合模型的实现
  8. 表锁 行锁 页锁 是什么区别
  9. dns学习笔记03-配置master区域
  10. 尚硅谷大数据hadoop教程
  11. 购物商城php设计与实现,php微信商城购物平台的设计与实现
  12. 深度学习教程(11) | 经典CNN网络实例详解(吴恩达·完整版)
  13. C# 汉字转拼音(支持GB2312字符集中所有汉字)
  14. Android对话框的详细介绍(提示对话框,自定义对话框)
  15. 《我要进大厂》之mysql夺命连环13问
  16. android studio安装SDK时无法勾选
  17. 前端不错的相关网站和论坛
  18. Python安全工具编写-pcap流量包重放
  19. CVPR2021目标检测方向论文
  20. [渝粤教育] 西南科技大学 预算会计 在线考试复习资料2021版(1)

热门文章

  1. opengl读取obj模型并绘制2.0
  2. 五个步骤打通电商平台运营思路
  3. 计算机英文版个人简历发文,计算机个人英文简历.doc
  4. vue 导入第三方js实例对象
  5. keras跑yolov3模型报错1“python3: can't open file 'convert.py': [Errno 2] No such file or directory”解决
  6. 问答系统实践(二)构建聊天机器人小天1.0
  7. 时序逻辑电路的设计(二) -- 篮球比赛24秒倒计时电路(附Multisim)
  8. java 行政区划数据库_全国行政区域api 最新最全的全国行政区域查询
  9. syntax error near unexpected token 脚本报错误解决【转】
  10. 14.JavaScript循环while、for、dowhile、break、continue、跳转标签