1)启动oracle自带的SQL PLUS命令:sqlplusw(在运行命令里输入此语句后会出现sql plus界面) doc命令实现:sqlplus
2)启动SQL PLUS之后连接数据库命令:conn 用户名/密码@数据库名 ;
3)修改用户名密码命令:passw 回车后根据提示填写
4)将查询的内容结果全部放到一个 .sql文件中的命令:spool
a)spool f:\wzh.sql ; 在f盘建立一个wzh的sql文件
b)查询数据:select * from users;
c)spool off ; (此时已将users表中查询的数据全部保存到了wzh.sql文件中了)
5)
a)创建新用户命令:create user wangzihu(新用户) identified by 1234(密码);
b)想用新建的用户进行登录则必须为新用户赋予权限,命令为:
grant connect to wangzihu;
c)想在新建的用户wangzihu中具有创建表的权限,则需执行以下指令:
1.重新连接到dba权限的用户,例如system用户
2.进行授权(resource)
Grant resource to wangzihu;
6)访问不同用户中的表
例如:wangzihu用户想访问system用户中的users表,命令如下:
grant select on users to wangzihu;(这是在用户为system下所执行的命令,此时如果在
wangzihu用户下只能查询system用户中users表的数据)如果想对system表中的数据进
行增删改查则可以执行如下命令:
grant all on users to wangzihu;
注意:在wangzihu用户中进行查询system用户中的表时,必须要加上system,例如:
Select * from system.users;
7)回收权限(revoke)命令如下:
Revoke select on users from wangzihu;(这条指令也是在system用户下执行的)
8)账户锁定(profile)
概述:指定该账户登陆时最多可以输入密码的次数和天数
例如:指定wangzihu用户最多尝试3次登陆,锁定的天数为2天
a)创建sql命令:
create profile wangzihu_lock limit failed_login_attempts 3 password_lock_time 2;
b)执行sql命令:
alter user wangzihu profile wangzihu_lock;
9)账户解锁
Sql命令:alter user wangzihu account unlock;
(2012-5-29)
//oracle函数与存储过程
1.函数
1)创建函数
create or replace function get_tax(x number)
return number as
begin
declare y number;
begin
y:=x-2000;
if x <= 0 then
return 0;
end if;
return y*5/100;
end;
end get_tax;
2)执行函数
SQL> select get_tax(1000) from dual;
结果显示:
GET_TAX(1000)
-------------
-50
2.存储过程
1)存储过程(in)
创建:
create or replace procedure update_test(uid in varchar2,uname in varchar2)
as
begin
update test set username=uname where userid=uid;
commit;
end update_test;
执行:
SQL> execute update_test('06','王子虎');
2)存储过程(out)
创建:
create or replace procedure test_up(uid out varchar2,uname out varchar2)
as
begin
select * into uid,uname from test where userid='04';//不能缺少into
end test_up;
执行:
SQL> var id varchar2(10);
SQL> var name varchar2(30);
SQL> exec test_up(:id,:name);//括号里必须加上冒号,这和in的不同
结果显示:
PL/SQL procedure successfully completed
id
---------
04
name
---------
天易
(2012-6-5)
1)对数据分组的总结(group by)
a).分组函数只能出现在选择列表、having、order by子句中
b).如果在select语句中同时包含有group by,having,order by那么它们的顺序是group by,having,ordre by
c).在选择列中如果有列、表达式、和分组函数,那么这些列和表达式必须有一个出现在group by子句中,否则会出错。例如:
select deptno,avg(sal),max(sal) from emp group by deptno having avg(sal)<2000;
这里deptno就一定要出现在group by中