01_sqlplus_introduction.avi
Oracle需要了解的第一个:sqlplus,当启动sqlplus需要让你输入,用户名口令字符串
Sqlplus是Oracle的一个客户端,Oracle大多数的东西都是在命令行执行,
输入用户名:scott 口令:tiger,进入oracle命令行
3个界面:图形版界面,命令行界面,
网页界面(isqlplus):在浏览器地址栏输入:http://127.0.0.1:5560/isqlplus/输入用户名:scott 口令:tiger进入
有一个著名的oracle客户端叫toad
Oracle还有一个客户端plsql develement
02_unlock_user.avi
使用超级管理员登录到数据库上:sqlplus sys/bjsxt assysdba à 当成DBA登录到服务器上
连上之后
更改user :alteruser scott account unlock; 更改用户 解除锁定
03_table_structures.avi
SQL语言
Sql语言是在数据库地下进行操作的专门的语言,sql语言本身是一种标准语言,它是一个国际标准,它定义了套标准SQL1922, SQL1999,SQL在大多数数据库上通用,或许有轻微的改变
包含四大语句:
1. 查询语句
查询语句只有一种就是select语句
2. DML语句
DML语句包含Insert,Update,Delete等常用语句
3. DDL语句
DDL语句包含Create, Alter, Drop等常用语句
4. 事务控制语句
包含Commit,Rollback等常用语句
还有一大类语句:叫DCL语句(DataControl Language),主要用于权限的分配与回收,由于与开发关系不是十分密切,不做重点讲解
最重要的就是select语句,任何select语句全部要背过,select语句必考,不会考其它的
Select语句就是从表里把数据选出来
首先熟悉试验中的数据
第一条语句:descemp;à 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 入职时间 DATE SAL 薪水NUMBER(7,2) COMM 津贴NUMBER(7,2) DEPTNO 雇员所在部门编号 NUMBER(2) |
表内容:
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ------ -------------------- ------------------ ---------- -------------- ---------- ---------- - 7369 SMITH CLERK 7902 17-12月-80 800 20 7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30 7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30 7566 JONES MANAGER 7839 02-4月 -81 2975 20 7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30 7698 BLAKE MANAGER 7839 01-5月 -81 2850 30 7782 CLARK MANAGER 7839 09-6月 -81 2450 10 7788 SCOTT ANALYST 7566 19-4月 -87 3000 20 7839 KING PRESIDENT 17-11月-81 5000 10 7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30 7876 ADAMS CLERK 7788 23-5月 -87 1100 20
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ------ -------------------- ------------------ ---------- -------------- ---------- ---------- - 7900 JAMES CLERK 7698 03-12月-81 950 30 7902 FORD ANALYST 7566 03-12月-81 3000 20 7934 MILLER CLERK 7782 23-1月 -82 1300 10 |
deptà部门信息表
DEPTNO 部门编号NOT NULL NUMBER(2) DNAME 部门名字VARCHAR2(14) LOC 部门所在地 VARCHAR2(13) |
内容:
DEPTNO DNAME LOC ------ ---------------------------- -------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON |
salgrade薪水等级表
GRADE 薪水等级NUMBER LOSAL 该等级的最低薪水值 NUMBER HISAL 该等级的最高薪水值 NUMBER |
内容:
GRADE LOSAL HISAL ----- ---------- ---------- 1 700 1200 2 1201 1400 3 1401 2000 4 2001 3000 5 3001 9999 |
熟悉表里面的数据:
第一个select语句:select* from 表名;
Select * from emp;
04_select_1.avi
1.简单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:selectename, 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值的数学表达式最后的结果都为null
Select ename, sal*12+comm from emp
例子2:含有任何null值的字符串表达式中,null被当作空字符串处理
select empno, ename ||'and his manager numberis '|| mgrfrom emp;
字符串连接符:||
Select语句中用单引号表示字符串
6.在select中使用单引号
例子1:用两个单引号表示一个单引号
select empno, ename || ' ''s manager is ' || mgr from emp;
05_distinct.avi
7.消除重复值
例子1:select distinctdeptno 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 wheredeptno<> 10;
例子4:取出薪水位于800和1500之间的雇员名字和薪水
Select ename, salfrom emp where sal >= 800and sal =< 1500;
Select ename, salfrom emp where sal between800 and 1500;
注意:使用betweenand 的时候,包含了最大值和最小值
3. 空值的处理
例子1:取出津贴值为空的所有雇员的名字
Select ename fromemp where comm is null;
例子2:取出津贴不为空的所有雇员的名字
Select ename fromemp where comm is not null;