oracle 基本操作、常用操作 收集记录
一般操作: 1、如果没有自已的表空间,首先创建自己的表空间: create tablespace tabs datafile 'E:\oracle\product\10.1.0\oradata\comrd\tabs.dbf' size 10M; 2、如果没有属于自己的账户,也要创建自己的账户并指定属于哪个表空间下: create user comrd identified by 123456 default tablespace tabs; 3、分配新建立的账户连接和操作表空间的权限: grant connect to comrd; grant unlimited tablespace ,DBA to yangyang; 经过以上步骤,新建的用户就可以在指定的表空间下操作了。 实践记录: --给用户解锁命令: alter user scott account unlock;(在sys用户下执行) --查询表结构: desc emp; desc dept; desc salgrade; --查询系统当前时间 select sysdate from dual; selec ename,sal*12 from emp;--每人的年薪 用双引号括着的字段表示外号,能保持原形(不会大小写改变) 注意:任何含有空值的数学表达式最后都是空值 字符串连接用:|| 去除重复记录:select distinct deptno from emp; select ename,sal from emp where ename>'CBA';--比较字符串实际和 java一样,都是比较阿斯特码 select ename,sal from emp where sal between 800 and 1500;与 select ename,sal from emp where sal >=800 and sal<=1500 等值的 select ename,sal,comm from emp where comm is null;--查询空值,不能comm=null; 不是空值:is not null; select ename,sal from emp wehre ename like '%$%%' escape '$'-- 查询含有%有,且自定义$为转义字符(一般/为转义字符)。 ---在sqlplus下的设置和操作: --查询sqlplus支持哪些命令:在sqlplus下:help index; 在sqlplus里大小写不区分。 设置支持空格行:set sqlblanklines on --即空格后不退出输入的当前语句的输入,而是显示行数。 用替代变量来查询: select * from dept where deptno=$tt; --回车后就可以为这个变量 赋值了,系统根据赋的值来查询。 用list 可以查看sqlplus缓冲区里的语句,简写为:l ; l 2 4;--查询2到来行的语句 保存缓冲区的语句:save c:\comrd.txt; 执行磁盘里有的文件:@c:\comrd.txt; 查看磁盘里的文件内容,并不去执行:get c:\liyang.txt; 用edit命令编辑语句:输入edit命令后调用记事本来编辑。 编辑好以后只输入 :/ 就可以执行了。 设置字段的别名:col(简写) deptno heading "编号"; 保存查询出来的结果集: 首先:spool c:\comrd.txt; 然后:select * from dept; 最后:spool off; --角色的操作: create role myRole;--创建myRole角色(在sys用户下执行) grant select on scott.emp to myRole;--(在sys用户下执行)将scott用户下emp表的查询权限下放给myRole角色。 grant myRole to yangyang;--将myRole角色赋予yangyang用户 revoke select on scott.dept.from yangyang;--撤销yangyang用户查询scott用户下的dept表的权限。 --利用exp导出数据库(在dos下操作,不用进入sqlplus) exp userid=yangyang/yangyangfull=y file=D:\myOracleData --利用imp导入数据库 imp userid=yangyang/yangyangfull=y file=D:\myOracleData 三、服务类 浏览器的管理工具:http://hz09033:5500/em/console/database/ 要开启:OracleDBConsolecomrd服务 浏览器的iSQL*Plus:http://hz09033:5560/isqlplus/ 要开启:OracleORaDb10g_home1iSQL*Plus服务 char与varchar2的区别:一个是固定长度,一个是可变长度。 telnet/cmd到本机命令行下,执行: sqlplus /nolog connect / as sysdba 就进入数据库了 sqlplus /nolog; connect / as sysdba alter user sys identified by ; alter user system identified by ;