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

来源:互联网 发布:linux 关闭echo 编辑:程序博客网 时间:2024/05/21 10:35

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 操作符:

 

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

→字符数据类型:

 

 

 

原创粉丝点击