oracle 11g常用命令

修改scott密码:
alter user scott identified by tiger;

查看当前用户有什么表:
select table_name from user_tables;

查看表的结构:
describe 表名

start+路径

spool+路径  spool off;  输出到制定位置的脚本里。

create user xiaoming identified by m123;

password xiaoming;

grant connect to zhangsan; 将角色connect授权给zhangsan用户

create table test(userid varchar2(30),username varchar2(30));

grant resource to zhangsan;

grant create table to zhangsan;授权

remove select on emp to zhangsan;撤销权限

desc test;查询表结构

grant all on emp to zhangsan;

alter user zhangsan account unlock;

关于配置文件:

create profile aaa1 limit failed_login_attempts 3 password_lock_time 2;  创建配置文件

alter user zhangsan profile aaa1; 给配置文件指定用户

drop profile aaa1 cascade; 删除配置文件加参数cascade

create profile myprofile limit password_life_time 10 password_grace_time 2; 创建配置文件

alter user zhangsan profile myprofile; 给配置文件指定用户

create table student (
xh number(4),
xm varchar2(20),
sex char(2),
birthday date,
sal number(7,2)
);


create table classes(
classid number(2),
cname varchar2(40)
);

alter table student add (classid number(2));

desc student;

insert into student values(1,'小明','男','11-12月-1997',2345.11,12);

alter table student modify(sex char(3));

alter session set nls_date_format='yyyy-mm-dd';修改会话,方便日期格式输入

insert into student (xh,xm,sex,birthday) values(3,'aa','女',null);

select * from student where birthday is null;

select * from student where birthday is not null;

update student set sal=sal/2 where sex='男';

savepoint aa;

update student set sal=sal/2,classid=5 where sex='男';

delete from student;(此命令禁止使用)

rollback;回滚操作

savepoint a;

desc dept;

set timing on;可以看到命令执行的时间

insert into users(userid,username,userpss) select * from users;

select count(*) from users;查询记录的条数

select userid from users;

select deptno,job,sal from emp where ename='SMITH';

select sal*13,ename from emp;

select sal*13 "年工资",ename from emp;

select sal*13+comm*13 "年工资",ename from emp;

select sal*13+comm*13 "年工资",ename,comm from emp;

select sal*13+nvl(comm,0)*13 "年工资",ename,comm from emp;

select ename,sal from emp where sal>3000;

alter session set nls_date_format="yyyy-mm-dd";

select ename,hiredate from emp where hiredate>'1982-1-1';

select ename,sal from emp where sal>=2000 and sal<=2500;

select ename,sal from emp where ename like 'S%';

select ename,sal from emp where ename like 'S%';select * from emp order by deptno
asc,sal desc;
select ename,sal from emp where ename like '_O%';

select * from emp where empno in(7788,234,456);

select * from emp where mgr is null;

select * from emp where (sal>500 or job='MANAGER') and ename like 'J%';

select * from emp order by sal;

select * from emp order by sal desc;

select * from emp order by deptno asc,hiredate desc;

select ename,(sal+nvl(comm,0))*12 as "年薪" from emp order by "年薪";

select ename,(sal+nvl(comm,0))*12 "年薪" from emp order by "年薪";

select max(sal),min(sal) from emp;

select ename,sal from emp where sal=(select max(sal) from emp);

select ename,sal from emp where sal>(select avg(sal) from emp);

select avg(sal),max(sal),deptno from emp group by deptno;

select avg(sal),max(sal),deptno from emp group by deptno order by deptno;

select avg(sal),max(sal),deptno,job from emp group by deptno,job order by deptno;

select avg(sal),max(sal),deptno from emp group by deptno having avg(sal)>2000;

select avg(sal),max(sal),deptno from emp group by deptno having avg(sal)>1500 order by
avg(sal);

select a1.ename,a1.job,a2.deptno,a2.dname from emp a1,dept a2 where a1.deptno=a2.deptno;
多表查询

select a1.ename,a1.sal,a2.grade from emp a1,salgrade a2 where a1.sal between a2.losal
and a2.hisal;

select worker.ename,boss.ename from emp worker,emp boss where worker.mgr=boss.empno;

select worker.ename,boss.ename from emp worker,emp boss where worker.mgr=boss.empno and
worker.ename='FORD';

select deptno from emp where ename='SMITH';

select * from emp where deptno=(select deptno from emp where ename='SMITH');

select * from emp where job in (select distinct job from emp where deptno=10);

select max(sal) from emp where deptno=30;

select * from emp where sal>(select max(sal) from emp where deptno=30);

select ename,sal,deptno from emp where sal> all (select sal from emp where deptno=30);

select ename,sal,deptno from emp where sal> any (select sal from emp where deptno=30);

select * from emp where (deptno,job)=(select deptno,job from emp where ename='SMITH');

select deptno,avg(sal) mysal from emp group by deptno;

select a2.ename,a2.sal,a2.deptno from emp a2,(select deptno,avg(sal) mysal from emp
group by deptno) a1 where a2.deptno=a1.deptno and a2.sal>a1.mysal;

select a1.*,rownum rn from (select * from emp) a1;

select emp.*,rownum rn from emp;

select a1.*,rownum rn from (select * from emp) a1 where rownum<=10;

select * from (select a1.*,rownum rn from (select * from emp) a1 where rownum<=10) where
 rn>=6;

create table myemp2 (id,ename,sal) as select empno,ename,sal from emp;

select ename,sal,job from emp where sal>4500 union select ename,sal,job from emp where
job='MANAGER';

select ename,sal,job from emp where sal>2500 union all select ename,sal,job from emp
where job='MANAGER'; union all会产生重复项

minux取差集,前面减掉后面

create table kkk (myid number(4),myname varchar2(50),mydept number(5));

insert into kkk (myid,myname,mydept) select empno,ename,deptno from emp where deptno=20;

update emp set (job,sal,comm)=(select job,sal,comm from emp where ename='SMITH') where
ename='SCOTT';

rollback to a2;

set transaction read only;设置事物处理

insert into emp values(8888,'ok','MANAGER',7782,to_date('1988-12-12','yyyy-mm-
dd'),34.34,23.23,10);

select lower(ename) from emp;

select upper(myname) from kkk;

select * from emp where length(ename)=5;

select * from emp where length(ename)=5;

select substr(ename,1,3) from emp;

select upper (substr(ename,1,1)) from emp;

select lower (substr(ename,2,length(ename)-1)) from emp;

select upper (substr(ename,1,1)) || lower (substr(ename,2,length(ename)-1)) from emp;

select replace(myname,'A','我是老虎') from kkk;

select (round(sal)+round(comm))*13 from emp;

select round(sal,1) from emp;

select trunc(comm,1),comm from emp where ename='zhangsan';

select floor(comm),comm from emp where ename='ok';

select mod(10,3) from dual;

select sysdate from dual;

update emp set hiredate='11-11月-2016' where ename='ok';

select sysdate-hiredate "入职天数" from emp;

select hiredate,last_day(hiredate) from emp;

select hiredate,ename from emp where last_day(hiredate)-2=hiredate;

select ename,to_char(hiredate,'yyyy-mm-dd hh24:mi:ss') from emp;

select * from emp where to_char(hiredate,'yyyy')=1980;

select * from emp where to_char(hiredate,'mm')=12;

select sys_context('userenv','db_name') from dual;

show parameter;

exp userid=scott/tiger@orcl tables=(emp) file=f:\oraclebackup\b1.txt exp备份表

exp userid=scott/tiger@orcl tables=(emp) file=f:\oraclebackup\b11.txt rows=n

exp scott/tiger@orcl owner=scott file=f:\oraclebackup\scott.dmp 导出用户的所有数据

exp system/12345678@orcl owner=(system,scott) file=f:\oraclebackup\system.dmp  导出数据

exp userid=system/12345678@orcl full=y inctype=complete file=f:\oraclebackup\shujuku.dmp
对数据库做全库备份

imp userid=scott/tiger@orcl tables=(dudu) file=f:\oraclebackup\dudu.dmp 将备份的表导入数
据库

imp userid=system/12345678@orcl tables=(users) file=f:\oraclebackup\users.dmp
touser=scott system将users表导入给scott用户

imp userid=system/12345678@orcl tables=(users) file=f:\oraclebackup\users.dmp system将
scott用户的users表导入给自己,切记!!!

imp userid=scott/tiger@orcl tables=(users) file=f:\oraclebackup\users.dmp rows=n 只导入
表的结构,不导入数据

imp userid=scott/tiger@orcl tables=(users) file=f:\oraclebackup\users.dmp ignore=y 如果
表已存在,只导入数据

imp userid=scott/tiger file=f:\oraclebackup\users.dmp  将备份方案导入给用户scott

imp userid=system/12345678 file=f:\oraclebackup\users.dmp fromuser=system touser=scott
将system用户的备份方案导入给用户scott

imp userid=system/12345678 full=y file=f:\oraclebackup\xxx.dmp  默认情况下,导入数据库时
,会导入所有对象结构和数据。

select table_name from user_tables; 查询当前用户所拥有的表

select table_name from all_tables; 查询当前用户可以访问的所有的表

select table_name from dba_tables; 查询DBA的数据字典

select * from dba_roles;显示数据库角色列表

create tablespace sp001 datafile 'f:\oraclebackup\sp001.dbf' size 20m uniform size 128K;
创建表空间

alter tablespace sp001 offline; 使表空间脱机

alter tablespace sp001 online; 使表空间联机

create table mypart(deptno number(2),dname varchar2(14),loc varchar2(13)) tablespace
sp001;

insert into mypart values(12,'sp0,','beijing');

alter tablespace sp001 read only;


create table goods(goodsid char(8) primary key,
goodname varchar2(30),
unitprice number(10,2) check (unitprice>0),
category varchar2(8),
provider varchar2(30));

create table customer(customerid char(8) primary key,--主键
name varchar2(50) not null,--不为空
address varchar2(50),
email varchar2(50) unique,
sex char(3) default '男' check (sex in ('男','女')),
cardid char(18));

create table purchase (customerid char(8) references customer(customerid),
goodid char(8) references goods(goodsid),
nums number(10) check (nums between 1 and 30));

alter table goods modify goodname not null;

alter table customer add constraint cardunique unique(cardid);

alter table customer add constraint addresscheck check(address in ('东城','西城'));

create index nameindex on customer(name); 创建索引

select * from system_privilege_map order by name;

create user ken identified by m123;

create user tom identified by m123;

grant create session,create table to ken with admin option;

grant create view to ken;

grant create session,create table to tom with admin option; 此处为级联授权

grant create view to ken with admin option;

grant create view to tom;

revoke create session from ken;

grant select on emp to ken;

create role myrole1 not identified;创建自定义角色

grant create session to myrole1 with admin option; 给角色授权

grant select on emp to myrole1;给角色授权

grant update on emp to myrole1

、查看Oracle数据库的用户名和密码的方法:

    运行 cmd 按如下输入命令
    sqlplus / as sysdba ---------以sys登陆          超级用户(sysdba)
    alter user 用户名 account unlock; --------- 解除锁定(必须带“;”号)
    alter user 用户名 identified 密码; -------------修改密码
    然后用你改好的密码登陆就行

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值