一般操作:
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 ;