配置文件和sqlplus简单使用
oracle简单配置文件
数据文件目录
D:\app\inmeditation\oradata\orcl
- 以.CTL结尾得的文件是数据库的控制文件
- 以.LOG结尾的是数据库日志文件
- 以.DBF结尾的是数据文件,真正存储数据
监听器文件listener.ora
D:\app\inmeditation\product\11.2.0\dbhome_1\NETWORK\ADMIN
# listener.ora Network Configuration File: D:\app\inmeditation\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = D:\app\inmeditation\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:D:\app\inmeditation\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = D:\app\inmeditation\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:D:\app\inmeditation\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = sunlizhao)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
ADR_BASE_LISTENER = D:\app\inmeditation
ADR_BASE_LISTENER = D:\app\inmeditation --数据库安装的基础目录
HOST解释
刚安装完成后此处可能是计算机名称,
如果连接时提示没有监听器可以改成localhost,可以正常使用
此处改成ip,别的计算机就可以访问你的数据库了
本地网络名称/数据库连接串
# tnsnames.ora Network Configuration File: D:\app\inmeditation\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
SCOTT =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
sqlplus简单使用
连接数据库
不登录进入sqlplus窗口
C:\Users\inmeditation>sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on 星期四 12月 12 21:26:28 2019
Copyright (c) 1982, 2010, Oracle. All rights reserved.
SQL>
登录scott用户(默认登录本地用户)
SQL> conn scott/"scott"
已连接。
登录远程数据库
sqlplus 用户名/"密码"@ip:port/数据库实例名
SQL> conn scott/"scott"@192.168.0.142:1521/orcl
已连接。
PLSQL Developer软件中登录远程数据库
Username:scott
Password:scott
Database:192.168.0.142:1521/orcl
sqlplus简单使用
简单查询
SQL> select
2 empno,
3 ename,
4 sal
5 from emp;
EMPNO ENAME SAL
l/L查看上一个执行的命令
SQL> L
1 select
2 empno,
3 ename,
4 sal
5* from emp
/ 执行上一个语句
SQL> /
EMPNO ENAME SAL
n命令
n是一个自然数,让光标指向上一个语句的第n行
SQL> l
1 select
2 empno,
3 ename,
4 sal
5* from emp
SQL> 2
2* empno,
SQL> 4
4* sal
a命令
append的缩写,追加.
在光标当前行的末尾增加内容
首先执行n命令,让光标到第4行,然后在后面写,comm,deptno
SQL> 4
4* sal
SQL> a ,comm,deptno
4* sal,comm,deptno
SQL> l
1 select
2 empno,
3 ename,
4 sal,comm,deptno
5* from emp
c命令
change,替换
替换光标当前行的内容
c /源字符串/新的字符串
SQL> 2
2* empno,
SQL> c /,/ 编号,
2* empno 编号,
SQL> l
1 select
2 empno 编号,
3 ename,
4 sal,comm,deptno
5* from emp
desc 查看表结构
SQL> desc 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 NOT NULL NUMBER(2)
sqlplus简单设置
一般set设置,show显示
set heading on|off 是|否显示表头
SQL> set heading off
SQL> select * from dept;
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
set feedback on|off 是否显示页尾
SQL> select * from emp;
...
已选择16行。
SQL> set feedback off
SQL> /
...
SQL>
set pagesize
每一页显示多少行数据
SQL> show pagesize
pagesize 14
SQL> set pagesize 22
SQL>
set linesize
每一行显示多少字符
SQL> show linesize
linesize 80
SQL> set linesize 300
SQL>
设置能在sqlplus中执行plsql代码
SQL> show serveroutput
serveroutput OFF
SQL> set serveroutput on
SQL>
col设置
设置每一列显示的长度
如果比列名长度短没有效果
SQL> select sal from emp where deptno=10;
SAL
----------
2450
5000
1300
SQL> col sal for 9999
SQL> select sal from emp where deptno=10;
SAL
-----
2450
5000
1300
显示小数后两位
SQL> col comm for 9999.99
SQL> select comm from emp where deptno=30;
COMM
--------
300.00
500.00
1400.00
.00
显示$符号和¥符号
SQL> col comm for $9999.99
SQL> /
COMM
---------
$300.00
$500.00
$1400.00
$.00
SQL> col comm for L9999.99
SQL> /
COMM
------------------
¥300.00
¥500.00
¥1400.00
¥.00
设置字符串显示长度
a6表示显示长度为6个字符的长度
SQL> col ename for a6
SQL> select ename from emp where deptno=10;
ENAME
------
june
CLARK
KING
MILLER
批处理命令
spool命令,将sql语句的执行结果保存到一个文件中
语法
spool命令
sql语句
spool off
SQL> spool D:\1122\test\c.txt
SQL> select empno,ename
2 from emp where deptno=30;
EMPNO ENAME
---------- --------------------
7499 ALLEN
7521 WARD
7654 MARTIN
7698 BLAKE
7844 TURNER
7900 JAMES
已选择6行。
SQL> spool off
c.txt
SQL> spool D:\1122\test\c.txt SQL> select empno,ename 2 from emp where deptno=30;EMPNO ENAME
7499 ALLEN 7521 WARD 7654 MARTIN 7698 BLAKE 7844 TURNER 7900 JAMES已选择6行。
SQL> spool off
静默登录
sqlplus -S 表示静默登录sqlplus
C:\Users\inmeditation>sqlplus -S scott/scott
spool D:\1122\test\f.txt
select empno,ename
from emp where deptno=30;
EMPNO ENAME
---------- --------------------
7499 ALLEN
7521 WARD
7654 MARTIN
7698 BLAKE
7844 TURNER
7900 JAMES
已选择6行。
spool off
f.txt
EMPNO ENAME
7499 ALLEN 7521 WARD 7654 MARTIN 7698 BLAKE 7844 TURNER 7900 JAMES已选择6行。
发现在此基础上再进行设置不显示页首和页尾,即可只显示数据
set heading off
set feedback off
spool D:\1122\test\g.txt
select empno,ename
from emp where deptno=30;
7499 ALLEN
7521 WARD
7654 MARTIN
7698 BLAKE
7844 TURNER
7900 JAMES
spool off
g.txt
7499 ALLEN 7521 WARD 7654 MARTIN 7698 BLAKE 7844 TURNER 7900 JAMES
save命令 将缓冲区的sql语句保存到文件中
语法:
save file_name[replace|create|append]
- create
- 表示创建一个file_name文件,并将缓冲区中的内容保存到该文件中,该选项为默认选项
- replace
- 表示如果file_name已经存在,则覆盖file_name文件的内容,如果文件不存在,则创建该文件
- append
- 表示如果file_name已经存在,则在file_name文件中追加内容,如果文件不存在,则创建该文件
SQL> select empno,ename
2 from emp where deptno=30;
EMPNO ENAME
---------- --------------------
7499 ALLEN
7521 WARD
7654 MARTIN
7698 BLAKE
7844 TURNER
7900 JAMES
已选择6行。
SQL> save D:\1122\test\c.sql
已创建 file D:\1122\test\c.sql
c.sql
select empno,ename
from emp where deptno=30
/
SQL> select * from emps;
select * from emps
*
第 1 行出现错误:
ORA-00942: 表或视图不存在
SQL> save D:\1122\test\c.sql append
已将 file 附加到 D:\1122\test\c.sql
SQL>
c.sql
select empno,ename
from emp where deptno=30
/
select * from emps
/
运行sql脚本
sql脚本一般保存为.sql格式
通过 @脚本名称 或者start 脚本名称来执行脚本
SQL> @ D:\1122\test\d.sql
select * from emps
*
第 1 行出现错误:
ORA-00942: 表或视图不存在
SQL> start D:\1122\test\d.sql
select * from emps
*
第 1 行出现错误:
ORA-00942: 表或视图不存在

浙公网安备 33010602011771号