Oacle中常用命令总结
================
系统相关
================
oracle client:
lsnrctl status | stop | start
---------------------------------------------------------------------------------------------------------
普通用户登录:
sqlplus 用户名/密码@本地网络服务名(远程访问)
sqlplus 用户名+回车>输入密码(本机访问)
系统用户登录:
sqlplus 用户名/密码@本地网络服务名 as sysdba(远程访问)
sqlplus 用户名 as sysdba +回车>输入密码(本机访问)
用户切换:
connect 用户名+回车>输入密码(本机访问)
connect 用户名/密码@本地网络服务名(远程访问)
connect 用户名/密码@本地网络服务名 as sysdba(系统管理员远程访问)
connect 用户名 as sysdba(系统管理员本机访问)
清屏:clear screen;
退出:exit/quit;
将上次执行的命令以记事本的形式显示:edit;
将上次执行的命令保存为.txt文件:save e:\yd.txt replace;
查看当前用户的数据对象: select *from tab;
查看当前用户的数据表:
select table_Name from user_tables;查看当前用户的索引: select *from user_indexes;
查看当前用户的视图: select * from user_views;
注user_tables转换成all_tables则为查询系统资源对象.
例如:查看所有的用户: select *from all_users;
查看所有的.dbf文件: select name from v$datafile;
查看所有的控制文件:select name from v$controlfile;
查看所有的日志文件:select member from v$logfile;
导出指定用户下的资源对象:
exp>根据提示操作……
导入dmp文件到的指定用户下:
imp>根据提示操作……
---------------------------------------------------------------------------------------------------------
==================
用户相关命令
==================
---------------------------------------------------------------------------------------------------------
创建用户并权限
创建新用户:
create user 用户名 identified by 密码
赋予创建用户登录权限:
grant create session to 用户名/grant connect to 用户名
赋予表空间权限:
grant resource to 用户名(要使用当前创建的用户进行登录操作,必须赋:connect AND resource)
两句等价于:
grant connect,resource to 用户名--
赋予创建表权限:
grant create table to 用户名
赋予超级管理员:
grant dba to 用户名
将yd用户创建的tbl_user表的所有的操作权限赋予a用户:
grant all/select/update/insert/delete on yd.tbl_user to a
取消用户权限(当前用户身份必须为DBA)
取消用户登录权限:
revoke connect from 被取消用户名
取消用户建表权限
revoke create table from 被取消用户名
取消指定用户(a)对当前用户(yd)指定表已拥有的表(tbl_user)的所有操作权限:
revoke all on yd.tbl_user from a
对用户加锁与解锁
对已有用户进行加锁
alter user scott account unlock
对已有用户进行解锁
alter user scott account lock
---------------------------------------------------------------------------------------------------------
===============
create 命令
===============
---------------------------------------------------------------------------------------------------------
创建一个新表:
create table tbl_user
(
id int not null,
name varchar2(10) not null,
sex varchar2(2) not null
);
从一个原有的表中查询出列创建一个新表: create table tbl_user2 as select id,name from tbl_user;
从一个原有的表中根条件查询出列创建一个新表:create table tbl_user3 as select id,name from tbl_user where sex='男';
---------------------------------------------------------------------------------------------------------
================
select 命令
================
---------------------------------------------------------------------------------------------------------
查询所有的数据:select *from tbl_user;
查询ID列用指定别名查询: select distinct t.id from tbl_user t;
根据条件查询符合的数据:select *from tbl_user where id = 1;
查询所有不重复的数据:select distinct *from tbl_user;
查询指定范围内的数据:select *from tbl_user where name in('a','b');
rownum关键字实现分页查询:select *from tbl_t97 where rownum<6;
查询ORCALE中的数据唯一rowid: select ('系统ID'||rowid||'用户名称'||name) from tbl_t97;
-----------------
like关键定查询:
name中有'v'的数据: select *from tbl_user where name like '%v%';
name中为a开头中间只能为两个字符的数据:select *from tbl_user where name like 'a__a';
-----------------
intersect关键字:查询两个表中数据列名相同,值相同的数据: select name from tbl_user intersect select name from tbl_user2;
minus关键字:从第一个查询结果中排除第二个查询中出现的行:select id from tbl_user minus select id from tbl_user2;
||:将查询结果以一个以字符串形式显示:select ('id为'||id||'名称'||name) from tbl_user;
max():查询指定列值最大的数据: select max(id) from tbl_user;
min():查询指定列值最大的数据: select min(id) from tbl_user;
sun():查询指定列总和:select sum(id) from tbl_user;
agv():查询指定列的平均值:select avg(id) from tbl_user;
count(): 查询所有非空数据总行:select count(*) from tbl_user;
count(distinct id):查询指定列只出现过一次的总行数: select count(distinct id) from tbl_user;
---------------------------------------------------------------------------------------------------------
======================================================
delete 命令(此命令必须手动commit提交才能生效)
======================================================
---------------------------------------------------------------------------------------------------------
删除表所有的数据:
delete from tbl_user;
truncate table tbl_user;(不能删除带有主外键的表)
根据条件删除表中的数据:
delete from tbl_user where id=1;
删除一个表中相同的数据:
delete tbl_t97 where rowid not in (select max(rowid) from tbl_t97 group by sid,name,sex,age,bir having count(*) > 1);
---------------------------------------------------------------------------------------------------------
======================================================
insert 命令(此命令必须手动commit提交才能生效)
======================================================
---------------------------------------------------------------------------------------------------------
插入所有的数据:insert into tbl_user values(1,'yd','男');
从本表中查出数据插入到表中: insert into tbl_user select * from tbl_user where id>1;
从一个表中查询数据插入到另一个表中: insert into tbl_user3(id,name) select f.id,f.name from tbl_user f;
---------------------------------------------------------------------------------------------------------
======================================================
update 命令(此命令必须手动commit提交才能生效)
======================================================
---------------------------------------------------------------------------------------------------------
修改的所有的用户性别为女
update tbl_user set sex='女'
将ID列值为1的uname更改为'lyy', sex更改为'女'
update tbl_user set uname='lyy',sex='女' where id=1;
---------------------------------------------------------------------------------------------------------
================
用户操作命令
================
---------------------------------------------------------------------------------------------------------
进入企业控制台:
http://4-24:5501/em
http://localhost:5501/em
进入isqlplus操作界面:
http://localhost:5560/isqlplus
---------------------------------------------------------------------------------------------------------
==========================
序列相关命令(自动增长)
==========================
---------------------------------------------------------------------------------------------------------
创建序列:
create sequence tbl_user_id
start with 1
increment by 1
maxvalue 10000
minvalue 1
nocycle//是否循环
cache 10;//缓存
tbl_user_id.nextval则代表下一增长的数字,
应用:insert into tbl_user values(tbl_user_id.nextval,'abc','男');
查询系列:
查询下一个自动增长值: select seq_a.nextval from dual;
查询自动增长当前值: select seq_a.nextcurr from dual;
修改序列:
修改最大值(其余值修改相同):alter sequence tbl_user_id maxvalue 2000000;
---------------------------------------------------------------------------------------------------------
=================
同义词相关命令
=================
---------------------------------------------------------------------------------------------------------
为表tbl_user创建同义词: create synonym t2 for tbl_user;
为表tbl_user创建替换现有同义词: create or replace synonym t2 for tbl_user;
删除同义词:drop synonym t2;
---------------------------------------------------------------------------------------------------------
================
修改对象命令
================
---------------------------------------------------------------------------------------------------------
表操作(表必须为空)
修改表中列的数据类型: alter table tbl_user modify id varchar2(20);
向表中增加新字段: alter table tbl_user add bir varchar2(20);
删除表中的字段: alter table tbl_user drop column bir;
---------------------------------------------------------------------------------------------------------
================
创建约束命令
================
---------------------------------------------------------------------------------------------------------
check约束:alter table tbl_user add constraints ck_name check(name like '尹%')
主外键约束:alter table tbl_book add constraints fk_uid foreign key(userid) references tbl_user(id);
删除约束:alter table tbl_user drop constraints ck_name;
---------------------------------------------------------------------------------------------------------
=================
Oracle事务命令
=================
---------------------------------------------------------------------------------------------------------
UPDATE order_master SET del_date ='30-8月-05'WHERE orderno <= 'o002';
SAVEPOINT mark1;
DELETE FROM order_master WHERE orderno ='o002';
SAVEPOINT mark2;
ROLLBACK TO SAVEPOINT mark1;
COMMIT;
分享到:
相关推荐
oracle 常用命令大全 oracle dba 常用命令 1 运行 SQLPLUS 工具 sqlplus 2 以 OS 的默认身份连接 / as sysdba 3 显示当前用户名 show user 4 直接进入 SQLPLUS 命令提示符 sqlplus /nolog 5 在命令提示符以 OS 身份...
### Oracle 常用命令与操作指南 #### 一、Oracle 安装与卸载注意事项 **1.1 Oracle 的安装** - **安装步骤:** 对于 Oracle 的安装,网络上有很多详细的指导教程。在安装过程中,需要注意的是,管理口令部分确保...
### ORACLE常用命令详解 #### 一、ORACLE的启动和关闭 在ORACLE数据库管理中,正确地启动和关闭数据库是非常重要的操作之一。这些操作不仅涉及到系统的稳定性,还关系到数据的安全性。 ##### 1、在单机环境下 ...
ORACLE常用命令 一、ORACLE的启动和关闭 1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup ...
以下将详细解析基于提供的文件信息中的Oracle常用命令,涵盖日志管理和表空间管理两大核心领域,以帮助数据库管理员更好地理解和运用这些关键指令。 ### 日志管理 #### 强制日志切换 `ALTERSYSTEMSWITCHLOGFILE;` ...
natstat,oracle常用命令常用命令natstat,oracle常用命令常用命令natstat,oracle常用命令常用命令natstat,oracle常用命令常用命令natstat,oracle常用命令常用命令
linux,linux和Oracle常用命令linux环境配置ORACLE常用命令
以下是一些关于Oracle常用命令的详细说明,分为日志管理和表空间管理两大部分。 ### 日志管理 #### 1. 强制日志切换 ```sql alter system switch logfile; ``` 这个命令用于在当前重做日志文件填满前强制进行日志...
### Oracle常用命令详解 #### 一、Oracle的启动与关闭 **1. 在单机环境下的启动与关闭** - **启动Oracle系统** - **切换用户:** 首先需要切换到Oracle用户环境。 ```bash su - oracle ``` - **使用`svrmgrl`...
oracle常用命令收集 oracle常用命令
Oracle常用命令大汇总 Oracle是世界上最流行的关系数据库管理系统之一,由Oracle Corporation开发和维护。作为一个功能强大的数据库管理系统,Oracle提供了许多实用的命令来帮助数据库管理员和开发者更好地管理和...
第一章:日志管理 1.forcing log switches sql> alter system switch logfile; 2.forcing checkpoints sql> alter system checkpoint; 3.adding online redo log groups sql> alter database add log...
ORACLE常用命令举例 ORACLE常用命令举例 ORACLE常用命令举例 ORACLE常用命令举例 ORACLE常用命令举例
### ORACLE常用命令集 #### 一、日志管理 在Oracle数据库中,日志管理是维护数据库稳定性和完整性的重要组成部分。以下是一些常见的Oracle日志管理命令。 **1. 强制日志切换** - **命令**: `alter system ...
### Oracle常用命令详解 #### 一、Oracle的启动与关闭 在管理Oracle数据库时,启动与关闭数据库是最基本的操作之一。这些操作确保了数据库服务的可用性和安全性。 **1. 单机环境下的启动与关闭** - **切换用户...