其中的表用scott中的代替
1、创建表、删除表:create table 表名称 、drop table 表名称
2、对表的三种基本操作:创建字段,删除字段、修改字段: alter table 表名 add 字段名称 数据类型、alter table 表名 drop column 字段名称、alter table 表名 modify 字段名 数据类型
3、创建约束的语法: alter table 表名 add constraint 约束名称 (被约束的字段);
ex:alter table student add constraint pk_stuno primary key(stuno); 约束有:①主键约束 primary key ②检查约束 check ③ 唯一约束 unique;
4、外键约束:外键约束是对具有关联的两张表而言的,一张表的主键是领一张表的外键,两张表中有一个公共字段是一模一样的:
ex:alter table student add constraint fk_tno foreign key(tno) references teacher(tno);
5、序列:5.1创建序列 create sequence 序列名称 start with 数字 increment by 数字 maxvalue 数组 cycle cache 数字
6、数据的增删改查:
6.1数据的增加: insert into 表名(字段名称)values(需要增加的数据类型要与字段相同)
6.2数据的删除:delete from 表名 where (删除的条件,一般根据编号删除)
6.3数据的改: update 表名 set 字段=值 where(修改的条件,一般也是根据编号修改)
****注意这三个操作修改完成后都需要提交
6.4查找:这里面水太深,我的水平只能给大家讲过大概。还希望有大神能给补充比较经典的查询。
语法:select 最终需要查找的数据 from 表名 where(条件) order by asc/desc group by 分组字段 组内条件
下面是给大家总结了几个小例子:
--1、同一表中出现员工的姓名薪资及员工所在部门和编号
select e.ename,e.sal,d.dname,d.deptno from emp e inner join dept d on e.deptno=d.deptno;
--2、修改员工表中编号为7369的员工姓名为jacky
update emp set ename='jacky' where empno=7369;
--3、删除表中编号为7499的人的信息
delete from emp where empno=7499
--4、分页查询上限15下限为10,进行升序排列
select * from(select t.*,rownum r from(select * from emp order by sal asc)t where rownum<=15)r where r>=10;
--5、查询超出50部门平均工资的员工
select * from emp where sal>(select avg(sal) from emp where deptno=50);
--6、查询工资表中工资最低的人
select min(sal) from emp;
--7、查询平均工资在2000以上的部门有哪些
select deptno,avg(sal) from emp group by deptno having avg(sal)>2000;
--8、通过部门编号对员工表惊醒分组,并显示部门编号和当前部门人数
select deptno,count(*) from emp group by deptno;
--9、查询工资在1500元以上的clerk职位的人的信息
select * from emp where sal>1500 and job='CLERK';
--10、查询员工姓名中包含S的员工信息
select * from emp where ename like '%S%';