尚学堂马士兵Oracle学习笔记--101_sqlplus_introduction.avi三种不同的命令行的客户端Oracle需要了解的第一个:sqlplus,当启动sqlplus需要让你输入,用户名口令字符串Sqlplus是Oracle的一个客户端,Oracle大多数的东西都是在命令行执行,输入用户名:scott 口令:tiger,进入oracle命令行3个界面:图形版界面,命令行界面,网页界面(isqlplus):在浏览器地址栏输入:http://127.0.0.1:5560/isqlplus/ 输入用户名:scott 口令:tiger进入有一个著名的oracle客户端叫toadOracle还有一个客户端plsql develement命令行:图形版界面:网页版:02_unlock_user.avi使用超级管理员登录到数据库上:sqlplus sys/bjsxt as sysdba à 当成DBA登录到服务器上连上之后更改user :alter user scott account unlock; 更改用户 解除锁定03_table_structures.avi第二章SQL(structured Query Language)语言Sql语言是在数据库地下进行操作的专门的语言,sql语言本身是一种标准语言,它是一个国际标准,它定义了套标准SQL1922, SQL1999,SQL在大多数数据库上通用,或许有轻微的改变包含四大语句:1. 查询语句查询语句只有一种就是select语句2. DML语句(数据操作/操纵语言)DML语句包含Insert,Update,Delete等常用语句3. DDL语句(数据定义语言)DDL语句包含Create, Alter, Drop等常用语句4. 事务控制语句包含Commit, Rollback等常用语句还有一大类语句:叫DCL语句(Data Control Language),主要用于权限的分配与回收,由于与开发关系不是十分密切,不做重点讲解最重要的就是select语句,任何select语句全部要背过,select语句必考,不会考其它的Select语句就是从表里把数据选出来首先熟悉试验中的数据第一条语句:desc emp;à desc 表名; 列出 表头 == 字段 == 列Varchar2 à 可变字符串à支持国际化NUMBER(7,2)à 7位的数字,2位的小数每行显示的宽度setlinesize 200;显示的页数 setpagesize 30;empà雇员信息表EMPNO 雇员编号NOT NULL NUMBER(4)ENAME 雇员姓名 VARCHAR2(10)JOB 工作岗位 VARCHAR2(9)MGR 该雇员经理人的编号 NUMBER(4)HIREDATE 入职时间 DATESAL 薪水NUMBER(7,2)COMM 津贴NUMBER(7,2)DEPTNO 雇员所在部门编号 NUMBER(2)Varchar2:可以存放各国的语言,适合国际化;varchar:不能存放各国语言,有限定。
表内容:EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO------ -------------------- ------------------ ---------- -------------- ---------- ---------- -7369 SMITH CLERK 7902 17-12月-80 800 207499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 307521 WARD SALESMAN 7698 22-2月 -81 1250 500 307566 JONES MANAGER 7839 02-4月 -81 2975 207654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 307698 BLAKE MANAGER 7839 01-5月 -81 2850 307782 CLARK MANAGER 7839 09-6月 -81 2450 107788 SCOTT ANALYST 7566 19-4月 -87 3000 207839 KING PRESIDENT 17-11月-81 5000 107844 TURNER SALESMAN 7698 08-9月 -81 1500 0 307876 ADAMS CLERK 7788 23-5月 -87 1100 20EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO------ -------------------- ------------------ ---------- -------------- ---------- ---------- -7900 JAMES CLERK 7698 03-12月-81 950 307902 FORD ANALYST 7566 03-12月-81 3000 207934 MILLER CLERK 7782 23-1月 -82 1300 10deptà部门信息表DEPTNO 部门编号NOT NULL NUMBER(2)DNAME 部门名字VARCHAR2(14)LOC 部门所在地 VARCHAR2(13)内容:DEPTNO DNAME LOC------ ---------------------------- --------10 ACCOUNTING NEW YORK20 RESEARCH DALLAS 30 SALES CHICAGO40 OPERATIONS BOSTONsalgrade薪水等级表GRADE 薪水等级NUMBERLOSAL 该等级的最低薪水值 NUMBERHISAL 该等级的最高薪水值 NUMBER内容:GRADE LOSAL HISAL----- ---------- ----------1 700 12002 1201 14003 1401 20004 2001 30005 3001 9999熟悉表里面的数据:第一个select语句:select * from 表名;Select * from emp;04_select_1.avi1.简单select语句:例子1:取出一张表中所有的数据Select * from emp;例子2:取出某些字段的值Select empno, ename, deptno from emp;2.包含算术表达式的sql语句例子1:取出emp中所有人的年薪及名字Select ename , sal*12 from emp;例子2:在emp表中取出2*3的结果Select 2*3 from emp;例子3:取出2*3的一条记录 Select2*3 from dual;--当我们需要显示一个结果的时候就用系统提供的dual虚表例子4:取出当前系统时间Select sysdate from dual;--sysdate在Oracle中表示当前系统时间3.含有别名的sql语句例子1:select ename, sal*12 annual_sal from emp;例子2:如果想让别名强制大小写混合可以使用双引号Select ename, sal*12 “Annual_sal” from emp;例子3:如果想让别名中有空格也使用双引号Select ename, sal*12 “Annual sal” from emp;5.处理含有空值的字符串例子1:算某人一年的年薪à含有任何null值的数学表达式最后的结果都为nullSelect ename, sal*12+comm from emp例子2:含有任何null值的字符串表达式中,null被当作空字符串处理select empno, ename ||'and his manager number is '|| mgrfrom emp;字符串连接符:||Select语句中用单引号表示字符串6.在select中使用单引号例子1:用两个单引号表示一个单引号select empno, ename || ' ''s manager is ' || mgr from emp;05_distinct.avi7.消除重复值例子1:select distinct deptno from emp;--用distinct消除结果集中的重复信息例子2:用distinct修饰多个字段的时候,指的是消除后面所有字段的组合重复结果Select distinct job, deptno from emp;--指job和deptno都相同的删除06_where.avi使用where对数据库设定条件限制,whereà过滤条件,过滤相关的数据1. 等值判断例子1:显示部门编号为10的所有员工的详细信息select * from emp where deptno = 10;例子2:显示名字为KING的员工的详细信息判断字符串是否相等时,字符串要用单引号引起来,单引号中字符串内容是要区分大小写的Select * from emp where ename = ‘KING’;2. 非等值判断(> < >= <= <>)例子1:取出薪水大于2000的所有员工的名字和薪水Select ename, sal from emp where sal >2000;例子2:字符串大小比较:是比较字符串ASCII码值的比较,先比较第一字母,依次……Select ename, sal from emp where ename > ‘DBA’;例子3:取出所有部门号不是10的雇员的名字和薪水Select ename, sal from emp where deptno<> 10;例子4:取出薪水位于800和1500之间的雇员名字和薪水Select ename, salfrom emp where sal >= 800 and sal =< 1500;Select ename, salfrom emp where sal between 800 and 1500;注意:使用betweenand 的时候,包含了最大值和最小值3. 空值的处理例子1:取出津贴值为空的所有雇员的名字Select ename fromemp where comm is null;例子2:取出津贴不为空的所有雇员的名字Select ename fromemp where comm is not null;尚学堂马士兵Oracle学习笔记--21. In语句:用于塞选某一个值例子1:把薪水是800,1250, 1500, 2000 的雇员信息取出来Select ename, sal from emp where sal in(800, 1250, 1500, 2000);也可以用于字符串操作例子2:把名字为SMITH, ALLEN, KING 的雇员取出来Select ename, sal from emp where ename in (‘SMITH’,‘ALLEN’, ‘KING’);2. 日期处。