OracleDBA表管理
下面是Oracle表管理的部分,用到的测试表是oracle数据库中scott用户下的表做的测试,有的实验也用到了hr用户的数据,以下这些东西是我的麦库上存的当时学Oracle的学习笔记今天拿出来和大家分享一下,转载请注明出处,下面用的Oracle的版本是10g,用的时WinServer2003的操作系统,可能有些命令和Oracle11g的有所不同,但大部分是一样的,接下来还会陆续的分享一下Oracle中对数据库的管理,对表的管理,还有Oracle中的存储过程和PL/SQL编程。用到的Oracle的管理工具是PL/SQL Developerl和SQL PLUS,欢迎大家批评指正。 1.必须以字母开头 4.大数据(存放媒体) 1sql>createtablestudent(--创建名为student的数据库表2 namevarchar2(20),--名字10个变长3 idcarchar(18),--身份证18个定长字符4 sexchar(2),--性别2个定长字符5 gradenumber(5,2)--成绩为浮点数,有效5位小数位为2位;6) 4.oracle中往已有的表中新增列; sql>altertablestudentmodify(namevarchar2(10)); 6.删除表中的已有字段 7.表的重命名; 1.省略字段名 2.给部分字段赋值 3.查询idcard字段为空的学生 10.修改表中的数据:
1.emp表中的内关联查询:给出每个雇员的名字以及他们经理的名字,使用表的别名; sql>selectdistinctemp.job,emp.mgrfromemp; 3.查询SMITH的薪水,职位和部门: sql>settimingon;
6.模糊查询like %代替多个字符,_代替一个字符;
8.查询工资高于500或者是岗位是manager同时名字以J开头的雇员
11.使用列的别名排序:按年薪降序(desc) 数据的分组――――min,max,avg,sum,count; 2.查询所有员工的工资总和和平均工资 sun() 和 avg() 的使用; 3.查询员工的总人数: 4.把最高工资的员工的信息输出(用到了子查询) 5.显示工资高于平均工资的员工信息:
group by 和 having子句 3.显示平均工资小于2000的部门号和他们的平均工资: 分组函数只能出现在选择列表,having,order by子句中 1.显示雇员名,雇员工资,所在部门名称; 2.显示部门号为10的雇员名,雇员工资,所在部门名称 SQL>selectemp.ename,emp.sal,salgrade.gradefromemp,salgradewhereemp.salbetweensalgrade.losalandsalgrade.hisal; 1.查询与SMITH在同一部门的所有员工; SQL>select*fromempwhereemp.jobin( selectemp.jobfromempwhereemp.deptno=10); 3.显示工资比部门号为30的所有员工的工资都高的员工信息;(用 all() 或 max()实现)
1.查询与SMITH在同一部门并且职位也相同的员工信息;
在from中使用子查询时查询的结果会当作一个视图来对待,因此也叫做内嵌视图<br style=""margin:" padding:=""/>必须给内嵌视图命一个别名 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |