Oracel 常用命令

创建表空间:

create tablespace ...

修改表空间:

alter tablespace u1_tablespace rename datafile 'u1_datafile' to 'u1_dbf1';
alter tablespace u1_tablespace online;

使用表空间:

create table t(t1 char(10)) tablespace u1_tablespace;

查询表空间:

#查询系统存储表空间的系统表结构
describe dba_tablespaces;
select tablespace_name,status from dba_tablespaces;
select file_name,file_id,tablespace_name,bytes from dba_data_files

SQL语言的主要组成部分:

DDL:Data Defiinition Language 数据定义语言

DML:Data Manipulation Language 数据操纵语言

DCL:Data Control Language 数据控制语言

创建用户:

create user 用户名 identified by 密码
[default tablespace 缺省表空间]
[temporary tablespace 临时表空间]

给用户连接数据库的权限:

grant connect to 用户名;
具有CONNECT角色的用户可以登录数据库,执行数据查询和操纵。即可以执行ALTER TABLE,CREATE VIEW,CREATE INDEX,DROP TABLE,DROP VIEW,DROP INDEX
GRANT,REVOKE,INSERT,SELECT,UPDATE,DELETE,AUDIT,NOAUDIT等操作

如果只是给用户赋予建表权限,如:grant create table to user1;这样用户还是不能成功建表,提示错误是对表空间没有操作权。

给用户赋予表空间的使用权:

alter user u1 quota 200M on 表空间1;
alter user u1 quota unlimited on 表空间1;

收回建表权:

revoke create table from u1;

   RESOURCE角色可以创建表,即执行CREATE TABLE操作。创建表的用户将拥有对该表的所有权限。Create table 权限和create any table 权限是有区别的,后者可以建立其他用户下的表格。如用U1登录,可以这样建表Create table system.t (t1 int);  建立其他用户(如U1)的表格,表格的所有权应归属于表格的拥有者(U1),而不是创建者。即他不能对该表格进行权限外操作。若想将权限赋予所有用户,可以使用Public角色。

Grant select on sc to public;---执行后所有用户将拥有sc的查询权利。

定义基本表的语句格式:

create table <表名> (<列定义>[{,<列定义>,<表约束>}])
--列定义:列定义,列数据类型,长度,是否允许为空等。
--定义完整型约束:列约束和表约束
--[constraint <约束名>]<约束定义>

Oracel 中复制表:

Oraclezhong 复制student表
create table t as select * from student where 1=2;(只复制表结构)
SQL中复制表:
select * into t from student;

Oracle中查看表达式的值:

Oracel中可以通过Dual表查看常量或表达式的值:
--查看系统时间
select sysdate from Dual;
--产生1到10的随机数
select dbms_random.value(1,10) from dual;

rownum:为Oracel表格中的记录逻辑顺序的列,在Oracle中的查询顺序是,先查询,后排序。

rownum在条件中只能小于某数,不能大于某数。

查询成绩最高的5位同学的学号:
select * form (select * from sc order by grade desc) a where rownum <=5
查询成绩在10到15的学生学号:
select * from (select rownum rn,a.* from (select * from sc order by grade desc) a) where rn <= 15 and rn >=10;

decode函数和sign函数:

SELECT sno,ssex,decode(trim(ssex),'m','男','f','女','待定')  性别 FROM Student

sign函数的具体语法格式:

sign(v1-v2):v1-v2为正数则返回1,负数返回-1,0为0;

select sno,cno,decode(sign(grade-60),1,'及格',-1,'不及格','未考试') 是否合格  from sc;

使用case when分类输出:

select sno 学号,cno 课程号,
      (case when grade>=90 then '优' 
               when grade>=80 then '良' 
               when grade>=70 then '中' 
               else '及格' 
        end) as 成绩级别
from sc


SQL Plus 登录数据库指令:

请输入用户名: 

system/password

请输入用户名: 

system

输入口令: // 此处填写口令不可见,正确输入后回车即可

请输入用户名: 

system/password@orcl // 指定数据库实例 orcl

请输入用户名: 

sys/password as sysdba // sys用户登录需要指定方式
SQL Plus 退出数据库指令:
quit
exit

SQL Plus 切换用户指令:

conn sys as sysdba
输入口令:
已连接。
SQL>

SQL Plus 清空屏幕指令:

clear screen;

1、sys是Oracle的一个很特殊的用户,它只能按sysdba和sysoper身份登入,也就是说只要按以上两种身份登入,都是sys用户,
表面上输入的用户名都是无效的。任何其它用户只能按Normal身份登入。
2、sys用户的合法认证有两种方式:
一是操作系统认证方式,
二是数据库口令认证方式。如果你登入的操作系统是Oracle用户组,
那么直接通过操作系统认证连接到数据库,没有必要口令来认证。所以你随便输入一个口令都可以的。

以SYSDBA身份登录SQLPlus工具
执行ARCHIVE LOG LIST命令可以查看数据库当前运行模式

执行ALTER DATABASE ARCHIVELOG | NOARCHIVELOG命令修改数据库的日式模式

获取控制文件信息:

select name from v$controlfile
未完待续。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值