oracle命令大全.docx

上传人:b****6 文档编号:8184418 上传时间:2023-01-29 格式:DOCX 页数:31 大小:25.08KB
下载 相关 举报
oracle命令大全.docx_第1页
第1页 / 共31页
oracle命令大全.docx_第2页
第2页 / 共31页
oracle命令大全.docx_第3页
第3页 / 共31页
oracle命令大全.docx_第4页
第4页 / 共31页
oracle命令大全.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

oracle命令大全.docx

《oracle命令大全.docx》由会员分享,可在线阅读,更多相关《oracle命令大全.docx(31页珍藏版)》请在冰豆网上搜索。

oracle命令大全.docx

oracle命令大全

打开服务器

netstartoracleservicebinbo

打开监听器

lsnrctlstart

关闭服务器

netstoporacleservicebinbo

关闭监听器

lsnrctlstop

===============================================================

清屏

clearscreen

**********************************************************************************************

数据字典===========descuser_views(关键词)

**********************************************************************************************

===============================================================

查看当前用户的角色

SQL>select*fromuser_role_privs;

===============================================================

查看当前用户的系统权限和表级权限

SQL>select*fromuser_sys_privs;

SQL>select*fromuser_tab_privs;

===============================================================

查看当前用户的缺省表空间

SQL>selectusername,default_tablespacefromuser_users;

===============================================================

换用户

connassysdba

sys

tsinghua

sqlplus"sys/tsinghuaassysdba"

connsys/zlassysdba

===============================================================

修改表结构

altertabletestmodify(namenotnull);

altertabletestadd(namevarchar2(20));

===============================================================

更改用户密码

sql>alteruser管理员identifiedby密码;

===============================================================

创建表空间的数据文件

sql>createtablespacetestdatafile'd:

\oracle\binbo.dbf'size10m;

===============================================================

创建用户

sql>createuser用户名identifiedby用户名;

===============================================================

bfile类型实例

创建目录

createdirectorytnpdiras'c:

\';

删除目录

dropdirectorytnpdir

授权

crantreadondirectorytnpdirtoscott;

建表

createtablebfiletest(idnumber(3),fnamebfile);

添加数据

insertintobfiletestvalues(1,bfilename('TMPDIR','tmptest.java'));

===============================================================

查看用户

sql>showuser

===============================================================

检查语句是否有错

showerror

===============================================================

锁定用户

sql>alteruser用户名accountlock

===============================================================

解除用户

sql>alteruser用户名accountunlock

===============================================================

删除用户

sql>dropuserzl;

===============================================================

给用户创建表权限

sql>grantcreatetableto用户名;

===============================================================

授管理员权限

sql>grantdbato用户名;

===============================================================

给用户登录权限

sql>grantconnectto用户名

===============================================================

给用户无限表空间权限

sql>grantunlinmitedtablespaceto用户名;

===============================================================

收回权限

sql>revokedbafrom用户名;

===============================================================

查看用户下所有的表

SQL>select*fromuser_tables;

===============================================================

查看名称包含log字符的表

SQL>selectobject_name,object_idfromuser_objects

whereinstr(object_name,'LOG')>0;

===============================================================

查看某表的创建时间

SQL>selectobject_name,createdfromuser_objectswhereobject_name=upper('&table_name');

===============================================================

查看某表的大小

SQL>selectsum(bytes)/(1024*1024)as"size(M)"fromuser_segments

wheresegment_name=upper('&table_name');

===============================================================

查看放在ORACLE的内存区里的表

SQL>selecttable_name,cachefromuser_tableswhereinstr(cache,'Y')>0;

===============================================================

再添加一个表空间的数据文件

sql>altertablespacetestadddatafile'd:

\oracle\test1.dbf'size10m;

===============================================================

建表SQL>createtablestuden(stunoint,stunamevarchar(8)notnull,stubirthdatedefaultto_date('1987-5-9','YYYY-MM-DD'));

向表结构中加入一列SQL>altertablestudenadd(stuphotovarchar(9));

从表结构中删除一列SQL>altertablestudendropcolumnstuphoto;

修改表一列的长度SQL>altertablestudenmodify(stunonumber(4));

隐藏将要删除的一列SQL>altertablestudensetunusedcolumnstuphoto;

删除隐藏的列SQL>altertablestudendropunusedcolumns;

向表中加入约束SQL>altertablestudenaddconstraintpkprimarykey(stuno);

删除约束SQL>altertablestudendropconstraintpk;

===============================================================

创建表

sql>createtable用户名(namevarchar2(20),passwordvarchar(20))tablespace用户名;

===============================================================

添加字段

sql>altertabletestadd(column_xchar(10)notnull);

===============================================================

更改字段

sql>altertableempmodify(column_xchar(20));

===============================================================

删除字段

如待删除域属于某个索引,则不允许删除操作,必须将此域先设置为NULL。

sql>altertableempmodify(column_xnull);

sql>updateempsetcolumn_x=null;

sql>commit;

sql>altertableempdrop(column_x);

===============================================================

选择表空间

sql>alteruser用户名defaulttablespacetest;

===============================================================

管理员删除别的用户中的表

sql>droptable用户名.表名;

===============================================================

退出

sql>exit;

===============================================================

默认进入

sql>sqlplus"/assysdba"

===============================================================

查看数据库

sql>showparameterblock;

===============================================================

写大量语句用记事本,新建方式。

输入"ed"回车

保存后

输入"/"运行;

===============================================================

查询用户有多少表

sql>select*fromtab;

===============================================================

SQLServer取时间

sql>selectgetdate

oracle取时间

sql>sysdate;

===============================================================

操作表结构数据库定义语言命令

(不记录在日志文件中)

createtable建表

sql>createtabletest(namevarchar2(20),agedate,sexchar

(2));

sql>insertintotest(name,age,sex)values('aa',sysdate,'男');

sql>insertintotest(name,age,sex)values('bb',to_date('1888-8-8',"yyyy-aa-ddhh24:

mi:

ss"),'男');

sql>select*fromtest;

===============================================================

查询男和女总数

sql>selectsex,count(sex)fromtestgroupbysex;

---------------------------------------------------------------

test表中数据输入test1表中

SQLSserver---select*intotest1fromtest;

oracle---createtabletest1asselect*fromtest;

---------------------------------------------------------------

更改会话时间

sql>altersessionsetnls_date_format='yyyy-mm-ddhh24:

mi:

ss';

---------------------------------------------------------------

sql>showparameterblock表和视图

sql>showparameterdate查数据结构

---------------------------------------------------------------

SQLServer中

--删除表中相同数据

sql>createtabletest1asselectdistinct*fromtest;

--删除表数据

sql>truncatetabletest;

--把test中数据输入到test1中

sql>insertintotest(select*fromtest1);

---------------------------------------------------------------

rowid(表中存储地址相当表id)和rownum(表序号)称伪列(用法)

sql>selectname,age,sex,rowid,rownumfromtest1;

查出前三行

sql>select*fromtestwhererownum<=3;

查出后三行

sql>select*from(selectnamen,agea,sexs,rownumrfromtest)wherer>(selectcount(*)fromtest)-3;

删除后三行

SQL>deletefromtestwherenamenotin(selectnamefromtestwhererownum<=(selectcount(*)fromtest)-3);

删除相同行

sql>deletefromtestwhererowidnotin(selectmax(rowid)fromtestgroupbyname,age,sex);

删除所有表

sql>select'droptable'||tname||':

'fromtab;

sql>spoolc:

\test.sql;

sql>select'droptable'||tname||':

'fromtab;

sql>spooloff

sql>@c:

\test.sql;

---------------------------------------------------------------

altertable修改表

truncatetable节段表(只删除数据)

droptable删除表

===============================================================

查看表结构

desc表名;

===============================================================

查出成绩的前三名

sql>select*from(select*fromstuorderbyscoredesc)whererownum<=3;

===============================================================

更改字符集

SQL>startupmount

SQL>altersystemenablerestrictedsession;

SQL>altersystemsetjob_queue_processes=0;

SQL>alterdatabaseopen;

SQL>alterdatabasecharactersetZHS16GBK;

SQL>shutdown

SQL>startup

===============================================================

将一张表或几张表中的域重新组合后插入新表。

假定原先的两张表为emp,work,现选择部分数据域合并为emp_work

建立emp_work

SQL>insertintoemp_newselecta.no,sysdate,a.name,b.service_durationfromempa,workbwherea.no=b.no;

SQL>commit;

这样的方式仍然要使用回滚段,为加快数据迁移速度,可将insert替换成insert/*+APPEND*/(大小写不论),指示oracle以直通方式直接写数据文件,绕过回滚空间。

SQL>insert/*+APPEND*/intoemp_newselecta.no,sysdate,a.name,b.service_durationfromempa,workbwherea.no=b.no;

SQL>commit;

===============================================================

===============================================================

DDL数据定义语言

DML数据操纵语言

TCL事务控制语言

DCL数据控制语言GRANTREVOKE

===============================================================

一个表中的某一列输到另一个表中

insertintostu1(name)(selectnamefromstu);

===============================================================

事务

rollback;

insertintostu1(name)(selectnamefromstu);

commit;提交

===============================================================

COMMIT-提交并结束事务处理

ROLLBACK-撤销事务中已完成的工作

SAVEPOINT–标记事务中可以回滚的点

SQL>updateorder_mastersetdel_date='30-8月-05'WHEREorderno<='o002';

SQL>savepointmark1;

SQL>deleteFROMorder_masterWHEREorderno='o002';

SQL>savepointmark2;

SQL>rollbackTOSAVEPOINTmark1;

SQL>COMMIT;

===============================================================

换名

setsqlprompt"scott>";

===============================================================

GRANT授予权限

SQL>GRANTSELECTONvendor_masterTOaccountsWITHGRANTOPTION;

REVOKE撤销已授予的权限

SQL>REVOKESELECT,UPDATEONorder_masterFROMMARTIN;

====================================================

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 金融投资

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1