Oracle之SqlPlus的应用
用户登录
sqlplus
user
password
或者
sqlplus user/password
切换用户
conn username/password
查看当前模式下的所有表
select * from all_tables where owner = 'scheamname'
查看数据库所有用户
select * from dba_users
查看当前用户所有表
select * from user_tables;
select * from v$database;
查看数据库所有表
select * from all_tables
查看某个模式下指定表
select * from SCOTT.TEST
create user ts identified by ts
查看所有表空间
select * from dba_tablespaces
查询数据文件
select * from dba_data_files
set linesize 1000 设置每行显示的数据长度
set pagesize 50 设置每次显示的行数
set linesize 1000
每行有多少个字符
set pagesize 0
每页有多少行,设置为0,表示禁用分页
set echo off
用start命令执行sql脚本时,是否显示脚本中正在执行的SQL语句
set termout off
使用spool时,设置为off,那么输出的内容只会保存在输出文件中,不会显示在屏幕上,极大提高了spool的速度
set trimout on
去除标准输出每行的拖尾空格,缺省为off
set trimspool on
去除重定向(spool)输出每行的拖尾空格,缺省为off
set feedback off
一律不显示查询的行数
set heading off
每页的上面不显示列标题,而是以空白行代替
set pause off
禁止翻页
先创建文本文档,保存之后执行
@i:hello
或者
创建文本文档,保存后执行
ed txtname
账号锁定解锁步骤
具体操作步骤如下:
C:> sqlplus
请输入用户名:sys
输入口令:sys as sysdba //注意:在口令这里输入
的密码后面必须要跟上 as sysdba 才可以。
SQL> alter user scott account unlock;
用户已更改.
SQL> commit;
提交完成.
SQL> conn scott/tiger
更改scott口令
新口令:tiger
重新键入新口令:tiger
口令已更改
已连接。
scott默认密码tiger
system账户的默认密码:
数据导出
先创建test.sql文件
set linesize 4500 pagesize 0 echo off termout off trimout on trimspool on feedback off heading off pause off;
spool d:\data\test10.txt
select * from SCOTT.TEST;
spool off;
保存退出
执行
@d:data/test
linux sqlplus脚本
编写.sh脚本
sqlplus user/password <<eof< div="">
sh /home/sqlplus/sh/test.sh
EOF
编写导出数据.sql文件(.sh文件和.sql文件分开编写)
写法一:
#set linesize 5000 pagesize 0 echo off termout off trimout on trimspool on feedback off heading off pause off;
#spool d:\data\test10.txt
#select * from SCOTT.TEST;
#spool off;
写法二:
#set pagesize 0 echo off termout off trimout on trimspool on feedback off pause off markup csv on;
#spool d:\data\test8.csv
#select * from SCOTT.TEST;
#spool off;
写法三:
#set linesize 2000 pagesize 5000 echo off termout off trimout on trimspool on feedback off heading on pause off colsep;
#spool d:\data\test.txt
#select * from WS_STATION;
#spool off;
建议导出格式:
set linesize 120 pagesize 500 echo off termout off trimout on trimspool on feedback off heading on;
spool d:\data\testh.txt
select STATIONID||','||STATIONNAME||','||ORDERNUM||','||STATUS||','||UPDATETIME||','||CREATETIME||','||DELETEFLAG from WS_STATION;
spool off;
原因:
用sqlplus自己设定的分隔符 set colsep 参数导出的数据有很大的不确定性,这种方法导出的数据由sqldr导入容易大概出错,尤其对大批量数据,而且导出的数据文件很大。用以上的方法导出数据文件格式规整文件较小再导入时比较准确,因此建议用上面的方法手动控制spool文件格式
*每个.sql文件中可以有多个sql导出语句
例:
set linesize 5000 pagesize 0 echo off termout off trimout on trimspool on feedback off heading off pause off;
spool d:\data\test1.txt
select * from SCOTT.TESTA;
spool off;
spool d:\data\test2.txt
select * from SCOTT.TESTB;
spool off;
spool d:\data\test3.txt
select * from SCOTT.TESTC;
spool off;
这个.sql文件中写了三张表,执行该文件就会按顺序导出该三张表的数据
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [翻译] 为什么 Tracebit 用 C# 开发
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
· 刚刚!百度搜索“换脑”引爆AI圈,正式接入DeepSeek R1满血版