登陆,用户解锁

      使用oracle 10g windows版本,可直接安装到windows xp操作系统之上。使用sqlplus登陆数据库。

所有程序——oracle 10g —— 应用程序开发 —— sqlplus   /   使用命令行模式  sqlplus  用户/密码@数据库名称           (数据库名称可使用配置移植工具中的net manager添加)

本地登陆使用 sqlplus / as sysdba 不需账号密码使用sys登陆到数据库。

查看用户

ORACLE sqlplus基本操作

使用sys用户解锁scott用户(默认锁定)

ORACLE sqlplus基本操作

登陆scott用户

ORACLE sqlplus基本操作

查看数据字典的结构

ORACLE sqlplus基本操作

通过数据字典中的TABLE_NAME查看包含哪些表

ORACLE sqlplus基本操作

查看EMP表的类型结构

ORACLE sqlplus基本操作

使用SELECT语句查看EMP中所有的数据 (通过SET LINE 120 设置每行显示最大字节为120)

ORACLE sqlplus基本操作

查询员工中SAL大于3000的员工号和员工名

ORACLE sqlplus基本操作

可以使用RUN和/执行上次执行的命令

ORACLE sqlplus基本操作

使用RUN 会显示上次执行的什么语句,而/ 不显示。

也可以通过LIST只显示上次执行的语句,而不执行。

ORACLE sqlplus基本操作

使用LIST命令之后,可以通过A对其中一行追加,DEL删除,C修改。

ORACLE sqlplus基本操作

显示员工SAL+COMM的值,并将列名改为AA

ORACLE sqlplus基本操作

显示员工KING的员工号

ORACLE sqlplus基本操作

显示员工1年的工作情况

ORACLE sqlplus基本操作

使用连接符||

ORACLE sqlplus基本操作

如果被包含在‘’中的字符串含有‘’号,使用转义的方法去掉字符串中‘’的特殊意义。

ORACLE sqlplus基本操作

ORACLE sqlplus基本操作

表中的空值进行任何运算结果都为空

ORACLE sqlplus基本操作

SQL 语言与 SQLPLUS 的区别

SQLPLUS是执行SQL语句的一种环境,SQLPLUS命令可以缩写,SQL语句不行,而SQLPLUS不能改变数据库的值。

查询EMP表中SAL为1000,2000,3000的员工

ORACLE sqlplus基本操作

查询SAL在1000到2000之间的员工 

ORACLE sqlplus基本操作

查询SAL不是1000的员工

ORACLE sqlplus基本操作

查询员工名称中包括A的员工

ORACLE sqlplus基本操作 

查询员工名称中第一个字母为A的员工

ORACLE sqlplus基本操作

查询员工名称中第二个字母为A的员工

ORACLE sqlplus基本操作

可以使用 \ 转义下一个字符,使下一个特殊字符不包含特殊意义。

查询员工中没有COMM的员工

ORACLE sqlplus基本操作

查询员工中COMM不是空值的员工

ORACLE sqlplus基本操作

优先级排列顺序

算数运算符〉连接符〉比较符〉NOT,AND,OR

查询员工名称中有A的,并且SAL大于1000的员工

ORACLE sqlplus基本操作

ORDER BY  排序,出现在语句的最后方,后跟ASC为升序DESC为降序。

查询EMP表并且以SAL为轴的升序排列(默认为ASC)

ORACLE sqlplus基本操作

查询EMP表根据DEPTNO排序,如果DEPTNO相同,根据SAL排序

ORACLE sqlplus基本操作

查询EMP表,以DEPTNO排序为升序,SAL降序

ORACLE sqlplus基本操作

ABS 求绝对值  MOD  求余数

ORACLE sqlplus基本操作

ROUND精确  四舍五入(-1为四舍五入到小数点左边一位=十位)

ORACLE sqlplus基本操作

TRUNC截取到哪一位

SQRT平方根

LOWER 将字符串改为小写

ORACLE sqlplus基本操作

INITCAP 将首字母改为大写

ORACLE sqlplus基本操作

SUBSTR截取第N位之后的字符

ORACLE sqlplus基本操作 

截取第3位以后的字符,并且只截取两位

ORACLE sqlplus基本操作

INSTR取位数

ORACLE sqlplus基本操作

取从第4位起,第二个出现的L

ORACLE sqlplus基本操作

LPAD 补齐(补齐左边)

RPAD 补齐(补齐右边)

ORACLE sqlplus基本操作

TRIM去头尾

ORACLE sqlplus基本操作

只去头部,或者只去尾部

ORACLE sqlplus基本操作

REPLACE 替换

ORACLE sqlplus基本操作

查看系统时间

ORACLE sqlplus基本操作

TO_CHAR 数字转换为字符串

ORACLE sqlplus基本操作

TO_DATE 将字符串转换为日期

ORACLE sqlplus基本操作

将字符串转换为数字

ORACLE sqlplus基本操作

将左右两边都转换为数字

ORACLE sqlplus基本操作

以字符模式显示系统时间,并显示时分秒和周

ORACLE sqlplus基本操作

使用TO_CHAR可以将日期数字转换为字符串

ORACLE sqlplus基本操作

查询员工收入情况,包括SAL和COMM 使用NVL(在两个值中取第一个非空值)

ORACLE sqlplus基本操作

取第一个不为空的值

ORACLE sqlplus基本操作

如果两个值不相同,则返回第一个值(相同则不返回)

ORACLE sqlplus基本操作

计算COMM,在EMP表中,不同的JOB COMM不同

ORACLE sqlplus基本操作

JOB为MANAGER COMM=SAL*0.2 其他为SAL*0.1

ORACLE sqlplus基本操作

等值连接  利用相同列进行连接

ORACLE sqlplus基本操作

非等值连接

查看EMP表中的SAL在SALGRADE中的SAL等级

ORACLE sqlplus基本操作

自连接

在EMP表中,MGR=别人的EMPNO

ORACLE sqlplus基本操作

外连接

与等值连接相同,但要求能查询出第一张表比第二张表的差值

ORACLE sqlplus基本操作

AVG平均值  SAM总和  COUNT 统计  MAX最大  MIN最小

COUNT(*)返回所有行数,包括空值

ORACLE sqlplus基本操作

当使用嵌套函数,必须使用GROUD BY

ORACLE sqlplus基本操作

子查询

查询比SCOTT SAL高的

ORACLE sqlplus基本操作

查询跟SCOTT一个部门且SAL比他低

ORACLE sqlplus基本操作

 

 

查询比平均SAL高的

ORACLE sqlplus基本操作

查询SAL比SALESMAN低的员工

ORACLE sqlplus基本操作

查询工资比SALESMAN SAL高的

ORACLE sqlplus基本操作

查询与SCOTT职务相同,但入职更早的

ORACLE sqlplus基本操作

 

 

 

多列查询

查询与SCOTT部门相同,职位相同

ORACLE sqlplus基本操作

查询EMP表中 第6位到第9位的员工

ORACLE sqlplus基本操作

集合运算

UNION 去掉重复项

UNION ALL 保留重复项

MINUS 取差值

INTERSECT  取两个结果中相同的部分

查询部门10和20所有职务

ORACLE sqlplus基本操作

查询部门10和部门20相同的职务

ORACLE sqlplus基本操作

查询只在DEPT出现没有在EMP出现的部门

ORACLE sqlplus基本操作

DCL 数据库控制语言  用于控制数据库的启动和关闭

DDL 定义语言 用来创建 删除 修改数据库对象

DML 添加删除查询数据库内容

事物控制语言 实现对数据的交易过程完整控制

INSERT 插入信行

UPDATE 修改已存行

DELETE 删除已存行

INSERT INTO 表名(字段) VLUSES(表达式)

插入1行  ENAME为小李 JOB为CLERK

ORACLE sqlplus基本操作

从另一张表中复制内容

INSERT INTO 表名(字段) SELECT (字段) FROM 表名

ORACLE sqlplus基本操作

从EMP表中插入内容到新表MANAGER中

ORACLE sqlplus基本操作

创建一个以2000开头增量为1的序列,最大值为9999 并且循环不缓存

ORACLE sqlplus基本操作

使用序列

ORACLE sqlplus基本操作

UPDATE 表名 SET 字段 = 表达式 WHERE 条件

ORACLE sqlplus基本操作

修改时间 ( 将EMPNO为1000的员工的HIREDATE改为现在)

ORACLE sqlplus基本操作

所有员工SAL+100

ORACLE sqlplus基本操作

UPDATE 表名 SET (字段) = SELECT (字段) FROM 另一张表 WHERE 条件

DELETE 删除

DELETE FROM 表名 WHERE 条件

TRUNCATE TABLE 表名   也可删除

区别:  TRUNCATE  删除数据不删除表结构 而且不能回退

数据库事物操作

优点

1. 把逻辑相关的操作分成一个组

2.在数据永久改变之前,可预览数据变化

3.保证数据一致性

数据库事物操作分为隐示,显示

正常退出SQLPLUS 则提交,数据变化保存 =  COMMIT

不正常退出则不保存

也可将环境变量AUTOCOMMIT 状态改为ON 则每次修改都进行保存

方法: SET AUTOCOMMIT ON

建立保存点,则回退时可回退到保存点

SAVEPOINT 保存点名称; 创建保存点

使用ROLLBACK TO 保存点名称; 回到保存点

直接使用ROLLBACK; 为回退。