资源预览内容
第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
第9页 / 共18页
第10页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
字符串函数LENGTH() 字符长度LENTTHB() 字节长度;一个汉字内存中占用 2 字节LTRIM、RTRIM、TRIM截串SUBSTR(表达式,位置,长度 )Oracle 无左右取串函数,但可以使用变通方式完成。左取串: SUBSTR(abcdefg, 1, 3)右取串: SUBSTR(abcedfg, LENGTH(abcdefg)-3+1, 3)时间函数sysdate、current_day设置时间格式: ALERT SESSION SET NLS_DATE_FORMAT = dd-mon-yyyy HH:mi:ss求时间: NEXT_DAY(sysdate, 星期三)转换函数TO_CHAR(sysdate, yyyy-mm-dd hh24:mi:ss)TO_DATE(12-3 月-04)TO_NUMBER(333) 必须是能转换TO_TIMESTAMP(2007-10-10 00:00:00.0, yyyy-mm-dd hh24:mi:ssxff) 转换为时间戳格式聚合函数count(*) :查询表行数count(column) :查询列行数,会忽略空值,注意ps.聚合函数不能做为 where 里查询条件出现(因为聚合是对所有查询结果的运算?)其他函数USER:当前用户SUM(DECODE(SEX, 男, 1, 0) 筛选出行被为男的记录 并加 1SUM(DECODE(SEX, 女, 1, 0) 筛选出行被为女的记录 并加 1NVL(a2, 非输入) 布尔值判断,利用系统对空值进行处理SELECT DISTINCT a1 FROM aa 表连接内连接:查询时,把能够公共匹配的数据完全查询出来。FROM e, d WHERE e.id = d.id 标准: FROM e JOIN d ON e.id = d.id外连接:不完全匹配左连接: FROM e JOIN d ON e.id = d.id(+)左边数据全部显示,右边匹配不上的部分用空值代替右连接: FROM e JOIN d ON e.id(+) = d.id(同理左连接)子查询无关子查询相关子查询EXISTS(): 根据子查询返回是否存在数据来决定父查询。UNION: 将多个查询出来的信息行整合成一个结果集。SELECT eid, ename FROM eUNIONSELECT id, name FROM dps.UNION 查询出来的重复记录不会显示,UNION ALL 则显示全部(包括重复的)。INTERSECT: 返回查询出来信息行的交集,Oracle 独有。利用查询结果批量更新:INSERT INTO e(eid, ename) SELECT id, name FROM d或者利用查询结果创建新表:CREATE TABLE ttt AS ttt (SELECT * FROM e)附加:SQL 简介SQL (Structured Query Language,结构化查询语言)支持如下类别命令:数据定义语言:CREATE(创建)、ALTER(更改)、TRUNCATE(截断)、DROP(删除)命令。数据操纵语言:INSERT (插入)、 SELECT(选择)、DELETE(删除)、UPDATE(修改)命令。事务控制语言:COMMIT(提交)、SAVEPOINT(保存点)、ROLLBACK(回滚)命令。数据控制语言:GRANT (授予)、REVOKE(回收)命令。特点:1、非过程语言,它同时可以访问多条记录。2、所有关系型数据库的通用型语言,可移植性强。3、对于数据和对象的操作简单。数据定义语言用于改变数据库结构,包括创建、修改和删除数据库对象。1、 CREATE TABLE 创建表CREATE TABLE schema.table(columname datetype , .);.表名的最大长度为 30 个字符;.表名首字母为字母,可以用下划线、数字和字母,但不能使用空格和单引号;.同一用户模式下的不同表不能有相同的名称;.表名、列名、用户名、和其他对象名不区分大小写,系统会自动转换成大写。2、 ALTER TABLE 修改表ALTER TABLE MODIFY (column definition );ADD (column definition );DROP COLUMN column;3、 TRUNCATE TABLE 截取表TRUNCATE TABLE ;快速删除记录并释放空间,不使用事务处理,无法回滚,效率高。DESC 查看表结构4、 DROP TABLE 删除表DROP TABLE 数据操纵语言DISTINCT 防止选择重复的行。事务控制语言COMMIT 提交并结束事务处理。SAVEPOINT 保存点,将很长的事务处理划分为较小的部分,用于标记事务中可以应用回滚的点。ROLLBACK 用来撤销在当前的事务中已完成的操作。可以回滚整个事务处理;也可以将事务回滚到某个保存点。UPDATE xxx;SAVEPOINT mark1;DELETE FROM xxx;SAVEPOINT mark2;ROLLBACK TO SAVEPOINT mark1;COMMIT;数据控制语言 为用户提供权限控制命令。授予对象权限GRANT SELECT,UPDATE ON order_masterTO MARTIN;取消对象权限REVOKE SELECT,UPDATE ON order_masterFROM MARTIN;SQL 操作符算术操作符算术表达式有 NUMBER 数据类型的列名、数值常量和连接它们的算术操作符组成。(+ - * /)比较操作符用于比较两个表达式的值。=、!=、=、BETWEEN AND (检查是否在两个值之间)NOT IN(与列表中的值匹配) NOT LIKE(匹配字符模式, * _ 通配符) NOT IS NULL(检查是否为空)逻辑操作符 用于组合生成一个真或假的结果。AND OR NOT集合操作符集合操作符将两个查询的结果组合成一个结果集合。UNION(联合) 返回两个查询选定不重复的行。( 删除重复的行)UNION ALL(联合所有) 合并两个查询选定的所有行,包括重复的行。INTERSECT(交集) 只返回两个查询都有的行。MINUS(减集) 在第一个查询结果中排除第二个查询结果中出现的行。 (第一 -第二)使用集合操作符连接起来的 SELECT 语句中的列应遵循以下规则:.通过集合操作连接的各个查询相同列数,匹配列的数据类型;.这种查询不应含有 LONG 类型的列;.列标题来自第一个 SELECT 语句。SELECT orderno FROM order_masterUNION SELECT orderno FROM order_detail;连接操作符 (|)用于将两个或者多个字符串合并成一个字符串,或者将一个字符串与一个数值合并在一起。SELECT (供应商 | venname | 的地址是 | venaddress)FROM vendor_masterOracle 常用数据类型1、字符数据类型CHAR 固定长度字符串 长度 12000 个字节,未指定则默认为 1 字节VARCHAR2 可变长度字符串 长度 14000 个字节,定义时必须指定大小LONG 可变长度字符串 最多能存储 2GB,存储超过 VARCHAR2 的长文本信息ps.一个表中只有一列为 LONG 数据类型,.LONG 列不能建立索引,.存储过程不能接受 LONG 数据类型的参数2、数值数据类型NUMBER 数据类型可以存储 正数、负数、零、定点数(不带小数点的? )和精度为 38 为的浮点数。格式: NUMBER (precision 精度,数字总位数 138 间, scale 范围,小数点右边的位数 -84127 间)3、时期时间数据类型DATE 数据类型,用于存储表中日期和时间数据。 SYSDATE 函数功能就是返回当前的日期和时间。TIMESTAMP 数据类型,存储时期、时间和时区信息。SYSTIMEATAMP 功能就是返回当前日期、时间和时区。4、二进制数据类型RAW 二进制数据或字节串 长度 12000 字节,定义时应指定大小,可建索引LONG RAW 可变长度的二进制数据 最大能存储 2GB,限制等同于 LONG 数据类型5、 LOB 数据类型“大对象”数据类型,最多可存储多达 4GB 的信息。LOB 可以是外部的,也可以是内部的,取决于相对于数据库位置。CLOB Character LOB 存储大量的字符数据BLOB Binary LOB 存储大量的二进制对象(多媒体对象等)BFILE Binary FIle 能够将二进制文件存储在数据库外部的操作系统文件中BFILE 存储一个 BFILE 定位器,它指向位于服务器文件系统上的二进制文件。ps.一个表中可以有多个 LOB 列,每个 LOB 列可以是不同的 LOB 类型。6、伪列Oracle 中的一个表列,但实际上未存储表中。可以从表中查询,但是不能插入,更新或者删除。ROWID 返回行记录的行地址,通常情况下,ROWID 值可以唯一地标识数据库中的一行。作用: .能最快形式访问表中的一行。.能显示表中的行是如何存储的。.可以作为表中行的唯一标识。例:SELECT ROWID, * FROM EMP WHERE empno=7900;ROWNUM 返回一个数值单表行的次序,第一行为 1,第二行为 2 .通过使用 ROWNUM 用户可以限制查询返回的行数(或者分页?)例:SELECT * FROM EMP WHERE ROWNUM 0 字段名 LIKE 字符串% %字符串%每个表都有一个隐含的字段 ROWID, 它标记着记录的唯一性. =四.ORACLE 里常用的数据对象 (SCHEMA)=1.索引 (INDEX)CREATE INDEX 索引名 ON 表名 ( 字段 1, 字段 2, );ALTER INDEX 索引名 REBUILD;一个表的索引最好不要超过三个 (特殊的大表除外), 最好用单字段索引, 结合 SQL 语句的分析执行情况, 也可以建立多字段的组合索引和基于函数的索引ORACLE8.1.7 字符串可以索引的最大长度为 1578 单字节ORACLE8.0.6 字符串可以索引的最大长度为 758 单字节ORACLE DOC 上说字符串最大可以建索引的长度约是:数据块的大小(db_block_size)*40%-2.视图 (VIEW)CREATE VIEW 视图名 AS SELECT . FROM .;ALTER VIEW
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号