Oracle数据库之SQLPLUS详解

​ SQLPlus 是 Oracle 数据库提供的一个专门用于数据库管理的交互式工具,使用 SQLPlus 可以管理 Oracle 数据库的所有任务,SQLPlus 通过命令的方式对数据库进行管理,也可以通过 SQLP lus 执行 SQL 语句的操作。

Oracle数据库之SQLPLUS详解

3.1、SQLPlus设置

​ 如果要想了解 sqlplus 命令,首先要解决一个新的问题:数据问题。

​ 在 Oracle 12C 中由于存在了 CDB 和 PDB 概念,所以所谓的测试数据,默认是找不到的,所以下面必须首先针对数据做一个恢复。

​ 在 D:\app\Oracleuser\product\12.1.0\dbhome_1\RDBMS\ADMIN 目录之中提供有一个 scott.sql 的创建脚本,但是这个脚本需要修改,而且要想会修改肯定要学习完后面的高级内容,所以为了方便学习,这里提供了一个 c##scott.sql 的文件,虽然名称是 c##scott ,本质还是 scott 。

c##scott.sql 脚本文件代码:

-- 使用超级管理员登录 CONN sys/change_on_install AS SYSDBA ; -- 创建c##scott用户 CREATE USER c##scott IDENTIFIED BY tiger ; -- 为用户授权 GRANT CONNECT,RESOURCE,UNLIMITED TABLESPACE TO c##scott CONTAINER=ALL ; -- 设置用户使用的表空间 ALTER USER c##scott DEFAULT TABLESPACE USERS; ALTER USER c##scott TEMPORARY TABLESPACE TEMP; -- 使用c##scott用户登录 CONNECT c##scott/tiger -- 删除数据表 DROP TABLE emp PURGE ; DROP TABLE dept PURGE ; DROP TABLE bonus PURGE ; DROP TABLE salgrade PURGE ; -- 创建数据表 CREATE TABLE dept ( deptno NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY, dname VARCHAR2(14) , loc VARCHAR2(13) ) ; CREATE TABLE emp ( empno NUMBER(4) CONSTRAINT PK_EMP PRIMARY KEY, ename VARCHAR2(10), job VARCHAR2(9), mgr NUMBER(4), hiredate DATE, sal NUMBER(7,2), comm NUMBER(7,2), deptno NUMBER(2) CONSTRAINT FK_DEPTNO REFERENCES DEPT ); CREATE TABLE bonus ( enamE VARCHAR2(10) , job VARCHAR2(9) , sal NUMBER, comm NUMBER ) ; CREATE TABLE salgrade ( grade NUMBER, losal NUMBER, hisal NUMBER ); -- 插入测试数据 —— dept INSERT INTO dept VALUES (10,'ACCOUNTING','NEW YORK'); INSERT INTO dept VALUES (20,'RESEARCH','DALLAS'); INSERT INTO dept VALUES (30,'SALES','CHICAGO'); INSERT INTO dept VALUES (40,'OPERATIONS','BOSTON'); -- 插入测试数据 —— emp INSERT INTO emp VALUES (7369,'SMITH','CLERK',7902,to_date('17-12-1980','dd-mm-yyyy'),800,NULL,20); INSERT INTO emp VALUES (7499,'ALLEN','SALESMAN',7698,to_date('20-2-1981','dd-mm-yyyy'),1600,300,30); INSERT INTO emp VALUES (7521,'WARD','SALESMAN',7698,to_date('22-2-1981','dd-mm-yyyy'),1250,500,30); INSERT INTO emp VALUES (7566,'JONES','MANAGER',7839,to_date('2-4-1981','dd-mm-yyyy'),2975,NULL,20); INSERT INTO emp VALUES (7654,'MARTIN','SALESMAN',7698,to_date('28-9-1981','dd-mm-yyyy'),1250,1400,30); INSERT INTO emp VALUES (7698,'BLAKE','MANAGER',7839,to_date('1-5-1981','dd-mm-yyyy'),2850,NULL,30); INSERT INTO emp VALUES (7782,'CLARK','MANAGER',7839,to_date('9-6-1981','dd-mm-yyyy'),2450,NULL,10); INSERT INTO emp VALUES (7788,'SCOTT','ANALYST',7566,to_date('19-04-1987','dd-mm-yyyy')-85,3000,NULL,20); INSERT INTO emp VALUES (7839,'KING','PRESIDENT',NULL,to_date('17-11-1981','dd-mm-yyyy'),5000,NULL,10); INSERT INTO emp VALUES (7844,'TURNER','SALESMAN',7698,to_date('8-9-1981','dd-mm-yyyy'),1500,0,30); INSERT INTO emp VALUES (7876,'ADAMS','CLERK',7788,to_date('23-05-1987','dd-mm-yyyy')-51,1100,NULL,20); INSERT INTO emp VALUES (7900,'JAMES','CLERK',7698,to_date('3-12-1981','dd-mm-yyyy'),950,NULL,30); INSERT INTO emp VALUES (7902,'FORD','ANALYST',7566,to_date('3-12-1981','dd-mm-yyyy'),3000,NULL,20); INSERT INTO emp VALUES (7934,'MILLER','CLERK',7782,to_date('23-1-1982','dd-mm-yyyy'),1300,NULL,10); -- 插入测试数据 —— salgrade INSERT INTO salgrade VALUES (1,700,1200); INSERT INTO salgrade VALUES (2,1201,1400); INSERT INTO salgrade VALUES (3,1401,2000); INSERT INTO salgrade VALUES (4,2001,3000); INSERT INTO salgrade VALUES (5,3001,9999); -- 事务提交 COMMIT;

​ 如果要想进行数据的配置,那么执行的顺序如下:

1、首先打开 sqlplus.exe :

​ 运行 -> 输入:sqlplus /nolog

2、执行 c##scott.sql 文件(一段一段执行)

​ 打开窗口 - 属性 - 选项页面勾选快速编辑模式 - 颜色页面可以更改背景及文字颜色。

​ 然后将c##scott.sql 文件中的代码一段一段复制到 sqlplus 里执行即可。

​ 以上程序执行完毕后,就可以进行后面的命令讲解了。

3.2、SQLPlus 常用命令

设置每行显示的记录长度:SET LINESIZE 300;

设置每页显示的记录长度:SET PAGESIZE 30;

用户连接数据库:CONN 用户名/密码 [AS SYSDBA];

取得当前用户的全部数据对象:SELECT * FROM tab;

查看表结构:DESC 表名称;

使用本机的操作系统命令:HOST 命令...;

以上给出的是几个最为基本的常用操作命令,下面进行详细介绍。

3.2.1 格式化命令

​ 现在在 c##scott 用户之中已经存在了相应的数据,开始执行查询命令:

SELECT * FROM emp;

​ 此表示查询 emp 表中的全部数据信息。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/90d1d094c1ecc0040b559b5840e87981.html