Oracle 基础相关(杂项)

1. 查看Oracle进程 ps -ef

查看oracle相关的进程

ps -ef | grep ora_

2. 连接到数据库 sqlplus

连接到数据库,sysdba是默认的超级账户,和linux下的root类似。 scott是创建的用户,密码是tiger。
>sqlplus / as sysdba
>sqlplus scott/tiger

连接到数据库,sysdba是默认的超级账户,和linux下的root类似。 scott是创建的用户,密码是tiger。
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
命令出来后看到提示的数据库详细信息,说明连接进来了。

切换用户
在数据库中SQL> conn scott/tiger
Connected

3. 数据库启动和关闭startup shutdown immediate

sql>startup 启动
>sql>startup
ORACLE instance started.
Total System Global Area 830930944 bytes
Fixed Size 2257800 bytes
Variable Size 536874104 bytes
Database Buffers 289406976 bytes
Redo Buffers 2392064 bytes
Database mounted.
Database opened
提示输出和信息,成功。

关闭数据库

sql>shutdown immediate

4. 执行相关命令添加scott用户

#SQL> @?/rdbms/admin/utlsampl.sql

[oracle@hwak ~]$ sqlplus scott/tiger 这时就可以登陆了

5. 线长和页长 set lines set pages

指定线的长度为200

set lines 200

指定一页显示200

set pages 200 指定一页显示200

6. sql语言逻辑

  • SQL语言大小写不敏感
  • SQL可以写在一行或多行
  • 关键字不能被缩写也不能分行
  • 各子句一般要分行写
  • 使用缩进提高语句的可读性
  • SQL语句在SQL Developer中,可以以;终止,当执行多个SQL时,结束分号是必需的。
  • 在SQL *Plus中,必须用;结束每条SQL语句

7. 空值null

表达命令,nvl函数将null暂时设定为0,以便计算无效的、未指定的、未知的或不可预知的值

NULL不是0,也不是空格

8. 字符串

字符串可以是SELECT列表中的一个字符,数字,日期。日期和字符只能在单引号中出现。每当返回一行时,字符串被输出一次例如sysdate函数,表示系统时间

9. sql中执行linux命令

在数据库里如果想执行Linux的命令,输入 !后再输入命令(!相当于暂时退出,去执行系统的命令)
>sql>!ps -ef | grep ora_ 查看Oracle进程

10. 转义符,& % _

&把输入的值定义为一个临时的变量,以便接下来的脚本操作
&&同样是把输出的值定义为一个变量,记录上次&输入的变量,直接调用,不用在输出
%表示一个或者多个字符,一般不建议放在前面,因为索引浪费性能
_表示匹配一个字符,只匹配一个字符

11. 运算优先级

输入的变命令运算时有固定的优先级,输出命令不注意优先级,则有可能结果不一样

在这里插入图片描述

12. 虚拟表,虚拟列

dual虚拟表,不存在的表
rownum虚拟隐藏的列

13. 赋权grant

grant 赋予账号权限
例如:给scott账户创建view权限
sys超级账号赋予SQL> grant create view to scott;
Grant succeeded.

14. 查询语句select

sql>select
功能:可以按col列(column)查看,也可以按row行查看;可以把意思相同的列或行关联,根据关联关系多表查询。
语法:(不区分大小写)

SELECT *|{[DISTINCT] column | expression [alias],...}
FROM table;
*所有的列
[DISTINCT][关键字]可写可不写 distinct是去重
column列的名字
expression表达式
table表名
代表一句话结束
SELECT标识选择哪些列
FROM标识从哪个表中选择

例子:
查看dept所有列

sql> select * from dept   

查看自定义列dname列,还有deptno列,将deptno列的数值+100然后输出成新列,命名noplus

sql>select dname,deptno+100 as "noplus",deptno  from dept;    

中间插入列输出is

sql>select dname,'is',deptno 
from dept;

中间插入列并且列名为is

SQL> select dname, 'is'as"is",deptno 
from dept;   

15. 列别名is

is重命名一个列标题,便于计算,紧跟列名(也可以在列名和别名之间加入关键字‘AS’),如果它包含空格或特殊字符,或者它是区分大小写的,那么需要双引号

>将dname重命名为xxx
sql>select dname as xxx 将dname

16. 连接符||

|| 把列与列,列与字符连接在一起,用“||”,可以用来合成列
>将aaa和bbb两列合并显示
sql>select aaa || bbb

17. 去虫distinct

去除xx的重复显示
sql>select dietinct xx

18. 显示表结构describe

使用DESCRIBE命令显示表结构,或者选择表中的Connections树,并使用列选项卡,查看表结构
>sql>desc xxx

type显示类别  表示数据类别
numeber (4)说明最多只可以有四位数字
number(7,2)说明小数点前最多7位,小数点后最多两位
varchar字符类型(a、b、c、1、2、3等)一个字母占一位,一个汉字占2个字符
date数据文件

19. 过滤数据where

作用:限制行;过滤行数据
语法:只显示满足条件的行,把不满足的行都过滤掉。WHERE子句要紧跟FROM子句。
>排除掉xxx不等于20的
where xxx=20

20. upper函数 转换为大写

>将xxx转换为大写

where xxx=upper(“xxx”)

21. lower函数 转换列上所有数据为小写,然后再匹配

22. 比较运算符

  • <>(不等于)或用 != 或 ^= 表示BETWEEN…AND… 区间
    where xxxx between 200 and 300; 匹配xxx里200-300的取键

  • IN(set) 多个值
    where xxxx in (“1”,“2”,“3”); 匹配xxx里的1.2.3

  • LIKE 匹配字符(要加通配符)
    where xxxx like '5222%”; 匹配xx里面5222开头后面无限长度的字符 liks 就是运算类似的值

  • IS NUL
    where xxxx IS NULL 判断xxx里面是不是空值
    反之 IS NOT NUL一样

23. 逻辑运算符 and or not

  • AND表示和,都,两个条件的关系

    输出同时满足aaa里面大于等于500,且bbb大于600的值
    where aaa=>500
    and bbb>600

  • OR表示或者,其中一个。一个值达到限制就输出
    IN相当于OR,但IN的执行效率更高

    输出aaa大于500或者bbb大于600的值
    where aaa=>500
    or bbb>600

  • NOT 表示否则,如果达不到就返回
    NOT IN
    NOT BETWEEN … AND …
    NOT LIKEI
    NOT NUll

24. 修改时间格式

  • 修改当前会话时间,重启失效
    sql>alter session

  • 修改会话时间,重启不失效
    sql>alter system

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值