Oracle记录(二) SQLPlus命令
对于Oracle数据库操作主要使用的是命令行方式,而所有的命令都使用sqlplus完成,对于sqlplus有两种形式。就我个人而言,还是比较喜欢UNIX与Linux下的Oracle。呵呵
- 一种是dos风格的sqlplus:sqlplus.exe;
- 另一种是windows风格的sqlplus:sqlplusw.exe;
在Oracle 10g之中主要使用的是sqlplusw命令,因为其可以进行一些显示数据的调整。

此时会找到默认的已经可以使用的数据库实例。
范例:输入查询指令
SELECT * FROM emp;

此时的数据已经可以正常的显示,但是依然会存在数据折行的问题,因为这个是默认的每行的数据大小,而现在可以通过两个命令进行调整:
- 设置每行显示的记录长度:SET LINESIZE 300;
- 设置每页显示的记录长度:SET PAGESIZE 30;

以后这两个命令统一被称为格式化命令,但是这些格式化命令在sqlplus下的设置并不是很明显。
但是sqlplusw虽然显示上方便一些,可是对于命令的编辑上却不是很方便,如正常的操作,命令写错了,则肯定使用方向键移到错误的位置上进行修改,但是在sqlplusw之中,方向键只能控制屏幕的移动,所以这个命令根本就不适合于编辑,所以在sqlplusw之中提供了ed和@指令,可以进行记事本的调用和执行;
- 使用ed,调用记事本程序:ed a;
此时会提示用户说,现在找不到“a.sql”的文件,询问是否创建,选择“是”,但是使用ed打开记事本之后 ,Oracle中的sqlplusw窗口会进入到阻塞状态,无法使用。
- 使用@执行程序:@a;
但是在windows之中,由于提供了许多方便的编辑软件,所以一般会在外部编辑程序,例如,现在在D盘上建立一个demo.txt的文件,里面保存程序代码。
这个时候要读取在硬盘上的文件,则必须写上完整的路径:@D:\demo.txt,而且如果现在这个文件的后缀是“*.sql”的话,则不用输入文件后缀(demo.sql),输入:@d:\demo,或者更省事直接输入:@d:demo。
在一个数据库之中,会有许多的用户(现在已知的是四个用户),这每一个用户下都会有多张自己的数据表,所以要想查看所有的数据表,则可以使用如下的命令:
SELECT * FROM tab;
而且由于用户众多,所以如果要想知道当前的登录用户,则可以使用:SHOW USER; 命令完成。
而且在sqlplusw之中也可以直接进行用户的登录切换,使用如下的语法完成:
CONN 用户名/密码 [AS SYSDBA];
使用sys用户登录:CONN sys/change_on_install AS SYSDBA;
但是,一旦使用了sys连接之后,则无法直接查询emp表数据。
对于每一张表,都有其属于的用户,所以一张表的完整名称是“用户名.表名称”或者说是“模式名.表名称”,所以不同的用户要想访问其他用户的表,则应该加上用户名,即现在的访问名称:
SELECT * FROM scott.emp;
一旦使用了超级管理员登录的话,可以通过命令手工的控制数据库实例的打开和关闭;
- 关闭数据库实例:SHUTDOWN IMMEDIATE;
- 一旦关闭之后用户无法直接连接sqlplusw命令,此时可以先使用“/nolog”登录,之后使用管理员登录;

SQL> conn sys/sys as sysdba;
已连接。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL>


- 启动数据库实例:STARTUP;

另外,sqlplusw命令窗口也可以调用本机的操作命令,使用“host”作为前缀。
HOST COPY d:\demo.sql d:\hello.txt
以上命令必须掌握,以后肯定会使用到。
Oracle记录(二) SQLPlus命令的更多相关文章
- 安装oracle服务端之后再安装oracle客户端导致sqlplus命令无法使用??
首先小编自述一下所遇到的问题: 昨天在已经安装 oracle 服务端的 win7 X64 主机上安装 oracle client 之后,发现我的sqlplus命令无法用了??经过百度,都说我服务没有开 ...
- oracle实用的sqlplus命令
有时候难免没有工具,得自己手动输入sqlplus命令 执行SQL文件:@sql文件,例如:@/home/myuser/sql/test.sql查看数据库存在的存储过程:Select object_na ...
- oracle系列(一)sqlplus命令
该系列是向 韩顺平 老师学习的笔记 高级权限账号:scott pwd sysdba 新建一个 Command Window,也可以 开始,运行 sqlplus 连接命令 --1.0 切换账号 SQ ...
- Ansible学习记录二:命令
0.ansible 命令参数详解: [root@localhost ~]# ansible Usage: ansible <host-pattern> [options] Options: ...
- 学习笔记:oracle学习二:oracle11g数据库sql*plus命令之常用sqlplus命令、格式化查询结果
目录 1.常用sqlplus命令 1.1 HELP命令 1.2 describe命令 1.3 SPOOL命令 1.4 其他常用命令 1.4.1 define命令 1.4.2 show命令 1.4.3 ...
- oracle入坑日记<二>认识oracle(含sqlplus基础使用)
1.SID(数据库实例) 1.1. oracle安装的时候有一项叫[全局数据库名]的填写项,这个就是oracle的SID也是数据库的唯一标识符: 1.2.一个oracle数据库有且只有一个SID(一般 ...
- 学习笔记:oracle学习二:oracle11g数据库sql*plus命令之数据库交互、设置运行环境
目录 1.SQL*PLUS与数据库的交互 2.设置sql*plus运行环境 2.1 set命令简介 2.2 使用set命令设置运行环境 2.2.1 pagesize变量 2.2.2 NEWPAGE变量 ...
- oracle记录各登陆主机用户名,登陆ip,所执行的命令
oracle记录各登陆主机用户名,登陆ip,所执行的命令 /etc/profile #history USER_IP=`>/dev/null| awk '{print $NF}'|sed -e ...
- 安装Oracle之后在DOS命令下不能使用sqlplus命令启动Oracle?
就像完成安装JDK后需要给系统配置环境变量JAVA_HOME和PATH,以便让系统认识在JDK里面的Javac命令.同样的,安装Oracle也需要这么一个过程.在正常情况下安装Oracle时系统安装程 ...
- sqlplus命令行登录oracle数据库的N种方法盘点
欢迎访问我的个人博客IT废柴,本文永久链接移至:sqlplus命令行登录oracle数据库的N种方法盘点 sqlplus有几种登陆方式Oracle数据库, 比如: 1.以操作系统权限认证的oracle ...
随机推荐
- mac 安装python3
Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的. 现在 Mac 上默认安装的 python 版本为 2.7 版本,若 安装 新版本需要 通过 该地址进行下载: http ...
- web.xml上监听器作用
<!--Spring ApplicationContext 载入 --> <listener> <listener-class>org.springframewor ...
- TUNING FOR ALL FLASH DEPLOYMENTS
Ceph Tuning and Best Practices for All Flash Intel® Xeon® ServersLast updated: January 2017 TABLE OF ...
- POST方式跨域上传文件
JSONP请求有限制: 第一,不能跳出两层, 第二,不支持POST. 往往解决跨域POST请求的方案是个"古老"方法, 请求同域下的iframe. 服务器端: 需要附加头信息: ...
- 三 web爬虫,scrapy模块介绍与使用
Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中.其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以 ...
- IOS-环信
一.即时通讯 即时通讯,又称实时通讯 即时通信(Instant Messaging,简称IM)是一个实时通信系统,允许两人或多人使用网络实时的传递文字消息.文件.语音与视频交流 即时通讯在开发中使用的 ...
- LeetCode OJ:Merge Sorted Array(合并排序的数组)
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note:Yo ...
- TCPL学习笔记:4-12以及4-13。关于使用递归的问题。
4-12.写一个函数itoa,通过递归调用将整数转换成为字符串. #include <stdio.h> #include <stdlib.h> void Itoa(int nu ...
- QWidget类参考
QWidget类是所有用户界面对象的基类. 详情请见…… #include <qwidget.h> 继承QObject和QPaintDevice. 被QButton.QFrame.QDia ...
- ROS机器人星火计划公开课总结
非常荣幸参加了两次星火计划公开课(上海站), 感谢NXROBO.EXBOT以及所有支持ROS机器人星火计划的小伙伴们. ----废话开始,与课程总结无关,可跳过---- 在国内20多年的求学生涯以及2 ...