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
已连接。
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
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
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
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
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>
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: 表或视图不存在