【Oracle】SQL语句与SQL函数(笔记一)

SQL 支持下列类别的命令: 数据定义语言(DDL)、数据操纵语言(DML)、事务控制语言(TCL)、数据控制语言(DCL)。

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

DML:数据操纵语言用于检索、插入和修改数据

TCL:事务是最小的工作单元,作为一个整体进行工作,保证事务的整体成功或失败,称为事务控制(COMMITROLLBACKSAVEPOINT)

DCL:数据控制语言为用户提供权限控制命令(GRANTREVOKE)

 

·····································

→集合操作符: 

 

 

 

→集合操作符将两个查询的结果组合成一个结果

INTERSECT 操作符只返回两个查询的公共行。

MINUS 操作符返回从第一个查询结果中排除第二个查询中出现的行。

·····································

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

·····································

SQL函数:

 

 

→单行函数对于从表中查询的每一行只返回一个值,又叫标量函数

→转换函数隶属于单行函数,分为:TO_CHAR:把日期或数值转换成字符串;TO_DATE:把字符串转换成日期;TO_NUMBER:把字符串转换成数字

·····································

→分组函数基于一组行来返回结果,为每一组行返回一个值

  

 

 

→分析函数根据一组行来计算聚合值

 

 

 

 

ROW_NUMBER 返回连续的排位,不论值是否相等;

RANK 具有相等值的行排位相同,序数随后跳跃;

DENSE_RANK 具有相等值的行排位相同,序号是连续的。

·····································

CREATE TABLE dept_cp AS SELECT * FROM dept WHERE rownum<3; --根据dept表创建一个部门表,只包含两列

·····································

GRANT SELECT ON vendor_master

     TO accounts WITH GRANT OPTION;

-----授予权限

REVOKE SELECT, UPDATE ON order_master

     FROM MARTIN;

-----撤销已授予的权限

·····································

→数据类型:

 

 

 

CHAR :固定长度的字符串,CHAR类型在定义时不指明大小,默认占用一个字节。

VARCHAR2:支持可变长度字符串,定义该类型的数据时必须指定其大小

LONG:存储可变长度字符数据,一个表中只能有一列LONG类型的数据,不能在LONG列上创建索引、唯一约束和主键约束

·····································

数值数据类型:

可以存储整数、浮点数和实数

声明语法:NUMBER [( p[, s])] (P表示精度,S表示小数点的位数)

如:NUMBER:之后什么也不跟,小数点可以浮动到任何位置;

NUMBER(10,2):保留小数点后两位;

NUMBER(10) :相当于NUMBER(10,0),小数点后的数将被4舍5入;

    NUMBER(10,-2):保留到百位。

···································                                                      

→日期时间数据类型:

DATE - 存储日期和时间部分,精确到整个的秒,SYSDATE函数返回当前时间和日期

如:“29-2 -08”。

TIMESTAMP - 存储日期、时间和时区信息,秒值精确到小数点后6位,SYSTIMESTAMP函数返回当前日期、时间和时区

如:“29-2月-08 10.58.22.125000 下午 +08:00”

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

·····································

RAW 数据类型

用于存储二进制数据

·····································

LOB大对象数据类型

可以存储多达 4GB 的非结构化信息,例如声音剪辑和视频文件等

·····································

→伪列:

q      Oracle 中伪列就像一个表列,但是它并没有存储在表中

q      伪列可以从表中查询,但不能插入、更新和删除它们的值

q      常用的伪列有ROWID和ROWNUM

ROWID 是表中行的存储地址,该地址可以唯一地标识数据库中的一行,可以使用 ROWID 伪列快速地定位表中的一行

ROWNUM 是查询返回的结果集中行的序号,可以使用它来限制查询返回的行数

·····································

→删除表中的数据:

delete from emp;  --可以回滚

Truncate table emp;  --不能回滚,但效率高

·····································

复制表的结构:

CREATE TABLE newitemfile2

     AS SELECT * FROM itemfile

     WHERE 1 = 2;  ----只复制表的结构

·····································

→使用列别名:

SELECT itemcode,itemdesc, max_level,

       max_level* 2 [AS] “New Maximum Level” 

     FROM itemfile;

·····································

SQL 操作符:

 

·····································

→字符数据类型:

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值