《ORACLE相关语法与命令》由会员分享,可在线阅读,更多相关《ORACLE相关语法与命令(14页珍藏版)》请在金锄头文库上搜索。
1、表xyza b c1 m hj1 m hjk1 n jk2 u we2 u wert3 q s4 a ds4 a dsaa怎么删掉第1、5、8条记录?(字段a、b相同的几条记录只留一条,留下字段C较短的一条)DELETE FROM LIANXIWHERE LENGTH(C) NOT IN (SELECT MIN(LENGTH(C) FROM LIANXI GROUP BY A, B)oracle数据库常用的命令集锦今日开始研究oracle,搜索到了一个好东东,拿出来与大家一同分享。下面是摘抄的部分 :local2/local ORACLE相关语法及命令一、Oracle入门 理论知识: Orac
2、le的物理组件有三个:(1)数据文件数据文件是用于存储数据库数据的文件,如表、索引数据。每个Oracle数据库有一个或多个物理数据文件, 一个数据文件只能与一个数据库关联。(2)日志文件用于记录对数据库进行的修改信息,日志文件主要用于在数据库出现故障时实施数据库恢复。(3)控制文件控制文件是记录数据库物理结构的二进制文件,每个Oracle数据库都含有一个控制文件。 Oracle的逻辑组件:表空间(TableSpace) 表空间是数据库最大的逻辑单位,一个数据库至少包含一个表空间,一个表空间包含一个或多个段等等。段(Segment)段存在于表空间中,分成4类,数据段、索引段、回退段、临时段。区(
3、Extent)区是磁盘空间分配最小单位,由连续的数据块组成,一个或多个区构成段,区只能存在于一个数据文件中。数据块(Data Block) 数据块是数据库中最小的数据组织单位与管理单位,Oracle数据库中的数据存储于数据块中,取值范围2K-64K之间。模式(schema)模式是对用户所创建的数据库对象的总称,又称为用户模式。概念:内存Oracle内存结构包含以下两个内存区。1、系统全局区(SGA)实例启动时分配该内存区,是Oracle实例的一个基本组件。又称为共享全局区,它用来存储数据库信息,并由多个数据库进程共享。可分为共享池、数据缓冲区及日志缓冲区。(1)共享池是对SQL、PLSQL程序
4、进行语法分析、编译、执行的内存区域。共享池由库缓存和数据字典缓存组成。其中,库缓存含有最近执行的SQL、PLSQL语句的分析码和执行计划;数据字典缓存含有从数据字典中得到的表、索引、列定义和权限等信息。(2)数据缓冲区数据缓冲区用于存储从磁盘数据文件中读入的数据,所有用户共享。(3)日志缓冲区日志记录数据库的所有修改信息,主要用于恢复数据。2、程序全局区(PGA)服务器进程启动时分配该内存区。PGA为非共享区,只能单个进程使用,当一个用户会话结束后,PGA释放。用户进程(PGA)发送SQL语句到共享全局区(SGA),先在共享池的库缓存中查询是否存在所需的数据块,如果存在就在数据字典中读取相应的
5、数据块,如果不存在就由服务器进程(DBWR)来IO数据库语法知识:创建表空间的语法如下: CREATE TABLESPACE tablespacename DATAFILE d:filename.DBF SIZE int KB|MB AUTOEXTEND OFF|ON; tablespacename 是需创建的表空间名称。DATAFILE指定组成表空间的一个或多个数据文件,当有多个数据文件时使用逗号分隔。filename是表空间中数据文件的路径和名称。SIZE指定文件的大小,用K指定千字节大小,用M指定兆字节大小。AUTOEXTEND子句用来启用或禁用数据文件的自动扩展。Oracle默认用户:
6、 用户名:sys 默认密码:chage_on_install用来管理拥有Oracle数据字典文件 用户名:system 默认密码:manager用来管理拥有数据字典视图对象 用户名:scott默认密码:tiger示例用户,包括emp、dept等表连接Oracle:在控制台下输入 sqlplus 用户名/密码回车或sqlplusw 回车相关命令: disconn/退出当前登录 conn 用户名/密码/连接Oracle alter user 用户名 identified by 密码 /修改用户口令drop user 用户名 cascade;/删除用户 alter user 用户名 account
7、lock;/给某个用户加锁 alter user 用户名 account unlock; /给某个用户解锁 ed回车:/打开缓冲区 /回车:/执行缓冲区中的语句 create user 用户名 identified by 密码 password expiredefault tablespace 表空间名 temporary tablespace 临时表空间名;/创建用户相关权限: grant connect to scott;/connect角色将允许用户创建数据库并在数据库中创建表或其他对象grant resource to scott; /resource角色将允许用户使用数据库中的空间g
8、rant create sequence to scott;/create sequence权限将允许用户创建序列,此权限包含在connect连接角色中grant select on emp to scott;/将emp表的查询权限授予用户scottgrant update(vencode,venname) on 表名 to scott;/将特定列的更新权限授予用户scott grant 权限 on 表名 to 用户名 with grant option;/接受该权限的用户可以将此权限授予其他用户revoke select,update on 表名 from 用户名;/收回相应的权限二、SQL
9、查询和SQL函数SQL支持如下类别的命令:数据定义语言:create(创建)、alter(更改)、drop(删除)和truncate(截断)命令。数据操纵语言:insert(插入)、select(选择)、delete(删除)和update(更新)命令。事务控制语言:commit(提交)、savepoint(保存点)和rollback(回滚)命令。数据控制语言:grant(授予)和revoke(回收)命令。数据类型:char:长度在1到2000个字节,声明多少字节在内存中就占用多少字节,输入的值小于指定的长度时用空格填充。varchar2: 长度在1到4000个字节,输入的值是多少字节,就占用多
10、少字节。long:长度在2GB,设置为此类型的列时,要注意:一个表中只有一列可以为long类型,long类型列不能定义为唯一约束或主键约束,不能建立索引,过程或存储过程不能接受long类型的参数。number(p,s): 其中p为精度,表示数字的总位数,在1至38之间。s为范围,表示小数点右边数字的位数,在-84至127之间。date:日期类型,sysdate为当前系统时间。格式为08-9月 -07。timestamp: 用于存储日期的年、月、日以及时间的时、分和秒。其中秒精确到小数点后6位,systimestamp返回当前日期、时间。格式为08-9月 -07 04.08.30.000000
11、下午。raw:此数据类型用于存储基于字节的数据,如二进制数据或字节串,该类型最多能存储2000个字节,可以建立索引。long raw: 此数据类型用于可变长度的二进制数据,最多能存储2GB。long数据类型的所有限制对long raw数据类型也同样有效。lob又称为大对象数据类型,最多能存储4GB的非结构化信息。包括:clob:clob代表Character LOB(字符LOB),它能存储大量字符数据。如XML文档。 blob: blob代表Binary LOB(二进制LOB),它能存储较大的二进制对象,如图形、视频剪辑和声音剪辑。 bfile:bfile代表Binary File(二进制文件
12、),它能够将二进制文件存储在数据库外部的操作系统文件中。伪列:rowid:select rowid,ename, from scott.emp where empno=7900; rownum:select * from scott.emp where rownum11;/限制查询返回的行数语法知识:desc 表名;/查看表结构alter table 表名 modify (列名 varchar2(25); /修改列alter table 表名 add (列名 varchar2(12),列名 number(12);/添加列alter table 表名 drop column 列名;/删除列tru
13、ncate table 表名;/中删除记录而不删除结构,不使用事务处理,因此无法回滚drop table 表名;/删除表及其全部数据create table 新表名 as select * from 表名 where 1=2;/用现有的表创建一个新表select deptno*2 New No,dname,loc from dept;/指定一个含有特殊字符(如空格)的列标题 commit;/提交事务savepoint 标记名;/标记事务点rollback; /回滚整个事务处理rollback to savepoint 标记名;/回滚到事务中某个特定的保存点集合操作符: union(联合):此操作符返回两个查询选定的所有不重复的行。 语法 select orderno from order_master UNION select orderno from order_detail; union all(联合所有):此操作符合并两个查询选定的所有行,包括重复的行。 语法:select orderno,ename from