启动服务方法:sqlplus system/sias
设置环境变量:set 环境变量名 数值
显示当前用户名:show user
查看系统用户:select *from db_users;
用@ 或start命令将指定命令文件调入缓冲区并执行:@d:文件名.sql
显示表结构:desc 表名
创建student表(sno char(4),sanme varchar(20),sex char(2),birthday date,sal number(6,2)):
create table student(
sno char(4),
sname varchar(20),
sex char(2),
birthday date,
sal double(6,2) ---- 在 oracle中用number
)
drop table student cascade constraints;
– 删除约束
给student表增加一个字段classid:alter table student add classid char(10);
向student表中插入记录,记录来自一个查询结果
insert into student(sno, sname) select empno,ename from emp where empno='7369';
新建一个表dept1,结构与dept相同,并将dept表中插入到dept1中
create table dept1 select *from dept;
将 Martin 提升为经理,工资加1000 。
update emp set job='MANAGER', sal=sal+1000 where ename='Martin';
将工资低于平均工资的员工工资增加10%
update emp set sal=sal*1.1 where sal < (select avg(sal) from emp);
查询每个部门的人数
select deptno, count(*) from emp group by deptno;
查询工资低于本部门的平均工资的员工的信息 :
select *from emp a
where sal < (select avg(sal) from emp where emp.deptno=a.deptno group by deptno);
用表:dept,emp,
like用法:
1.select *form emp where job like 'clerk' or job like 'analyst'
2.select ename from emp where ename like 's%'
order by:
1.select *from emp where deptno=20 order by sal desc;
maxcounthavingavgsum:
1.select max(sal) from emp
2.select deptno,count(*)from emp group by deptno;
3.select deptno from emp group by deptno having count(deptno)>4;
4.select deptno,avg(sal)from emp group by deptno having avg(sal)<2000;
5.select deptno,sum(sal)from emp group by deptno having sum(sal)>3000 order by sum(sal);
多表查询:
1.select e.name,d.deptno from emp e,dept d where e.name=d.name;
2.select dname,count(e.empno) from emp e,dept d where e.deptno=d.deptno group by dname;