当前位置: 首页 > 科技观察

送你51条Oracle常用语句,看了不后悔~

时间:2023-03-22 14:12:24 科技观察

1、连接数据库;连接斯科特/123456;断开数据库断开连接;2、查看表结构描述scott.emp;3、查看数据表selectempno,job,mgr,sal;4、将缓冲区中的sql语句保存到Filesavescott_emp_query.sql5、将文件内容读入缓冲区getscott_emp_query.sqllist6、使用start命令读取并运行sql文件startscott_emp_query.sql7、复制内容在edit8中将缓冲区的内容添加到名为afiedt.buf(这是默认文件)的文件中,将输出保存到指定的文件中>=&temp;10,有两个变量的语句(两次输入)select&column_name,deptnofromscott.empwhere&column_name>=7850;11,有两个变量的语句(一个输入)select&&column_name,deptnofromscott.empwhere&&column_name>=7850;12,不显示“原始值”和“新值”信息设置验证关闭;(显示on)新技巧:反斜杠“/”再次运行上面的查询13,设置变量定义字符集define'@'(设置后,定义变量的字符将变为@,&无效)14,执行sql文件的语句@E:\TEMP\temp.sql(这里要注意路径区分大小写)15、使用define查看常量define;16、设置常量definetemp=7850查看Constantdefinetempdeleteconstantundefinetemp17、使用column设置输出格式columnempnoheading'employeenumber'format9999列ename标题“员工姓名”格式a10columnmgr标题“上级编号”格式9999columnhiredate标题“就业日期”justfifycentercolumnsal标题“员工薪水”格式$999,999.99selectempno,ename,mgr,hiredate,salfrom8scott,emp;设置一页显示多少行数据setpagesize2019设置一行显示多少字符setlinesize2020设置页眉和页脚ttitleheader,btitleandfooter21,break命令用于分组,计算命令用于deptno上的计算和中断;计算deptno上sal的总和;从scott.emp按deptno顺序选择empno、ename、mgr、sal、deptno;22,清除列格式清除列23,创建永久表空间创建表空间myspacedatafile'文件路径'大小文件大小自动扩展到下一个自动增加maxsizefile****value语法说明:1、temporary|undo(创建undotablespace)2、teblespace_name3、datafile|tempfile'file_name'4、size5、reuse如果存在则删除并重新创建6,autoextendoff|on7,nextnumber自动扩展大小8,maxsizeunlimited|number指定数据文件的最大大小9,mininumextentnumberextent可以分配到的最小大小10,blocksizenumber设置数据块大小11,online|offline12,logging|nologging13,forcelogging强制对表空间数据库对象的任何操作产生日志,取反1214,defaultstoragestorage指定表空间存储的数据库对象的默认存储参数15、compress|nocompress是否压缩数据(消除列中的重复值)16、permanent|temporary指定表空间中数据的存储形式17、extentmanagementdictionary(数据字典形式管理)|local(本地化形式)management)18、autoallocate|uniformsizenumber右边是指定表中的大小面板19、segmentspacemanagementauto|manual指定表空间中间段的管理方式24、勾选表空间属性select*fromdba_tablespacewheretablespace_name='表空间名';25、修改表空间状态altertablespacetablespacenametablespacestate;26、修改表空间名altertablespace表空间名1重命名为表空间名2;27、使用数据字典查看空闲空间信息select*fromdba_free_spacewheretablespace_name='表空间名';28、使用数据字典查看表空间数据文件信息select*fromdba_data_fileswheretablespace_name='表空间名';29、修改表空间对应的数据文件大小alterdatabasedatafile'tablespacefilepathname'resizesize30,为表空间添加一个新的数据文件altertablespacemyspaceadddatafile'datafilepathname'sizeautoextendonnextauto-increasesmallmaxsize***value;31、删除myspace表空间数据文件altertablespacemyspacedropdatafile'数据文件名';32、修改myspace表空间中数据文件的自动扩展alterdatabasedatafile'表空间文件路径名'autoextendoff;33、设置表空间文件状态为offlinedropalterdatabasedatafile'tablespacepathname'offlinedrop;34、移动表空间文件中的数据(一)altertablespace表空间名称脱机;首先将表空间状态设置为离线(2)手动操作,将磁盘中的表空间数据文件移动到新路径(3)使用altertablespace语句修改表空间文件路径名altertablespacemyspacerenamedatafile'表空间路径名'为'新表空间路径名';(4)在线修改myspace表空间状态altertablespacetablespacename;35、删除表空间droptablespace表空间名称包括内容和数据文件;36、创建临时表Spacecreatetemporarytablespacetablespacenametempfile'tablespacepathname'sizesizeautoextendonnextself-increasesmallmaxsize***size;37、创建临时表空间,指定group为group1createtemporarytablespacetablespacenametempfile'tablespacePathname'sizesizetablespacegroupgroup1;38,修改临时表空间组altertablespacetemporarytablespacenametablespacegroupgroup2;39,创建大文件表空间createbigfiletabliespacemybigspacedatafile'tablespacepathname'sizesize;40,修改默认表空间alter数据库默认表空间表空间名称;41、创建事务级临时表createglobaltemporarytabletemp_student()oncommitdeleterows(事务级的意思);42、使用事务级临时表select*fromtemp_student;commit;提交东西。提交后表还在,只是数据被清除了43、创建会话临时表createglobaltemporarytabletemp_book()oncommitpreserverows(意思是session级别);commit;只有断开用户连接后数据才会被清除44、读取外部文件必须先有对应的路径文件,然后创建目录external_cardas'E:\external';创建对应路径然后创建外部表createtablee_card(对应数据)organizationexternal(//里面这个组是什么?typeoracle_loader//指定访问外部数据文件的驱动,oracle默认在oracle_loader默认目录external_card//对应上一步的路径accessparameters(fieldsterminatedby',')location('card.txt'));45、在rejectlimit语句中使用externaltable是容易出错的,Usingthisallows无数错误.txt'))拒绝限制无限制;46、错误数据Storetospecifiedfilecreatetablee_card(对应数据)organizationexternal(typeoracle_loaderdefaultdirectoryexternal_cardaccessparameters(recordsdelimitedbynewlinebadfile'card_bad.txt'fieldsterminatedby',')location('card.txt'));47、errorInformationlogfilecreatetablee_card(对应数据)organizationexternal(typeoracle_loaderdefaultdirectoryexternal_cardaccessparameters(recordsdelimitedbynewlinebadfile'card_bad.txt'logfile'card_log.txt'fieldsterminatedby',')location('card.txt'));48、创建范围分区表createtablepart_book(databasecontent)partitionbyrange(booktime)(partitionpart1valueslessthan('01-January-2008')tablespacemytemp1,partitionpart2valueslessthan('01-January-2009')tablespacemytemp2,partitionpart1valueslessthan(maxvalue)tablespacemytemp3)49,创建哈希分区表createtablepart_book(databasecontent)partitionbyhash(bid)(partitionpart1tablespacemytemp1,partitionpart2tablespacemytemp2,)50、createlistpartitiontablecreatetablepart_book(databasecontent)partitionbylist(bookpress)(partitionpart1values('清华大学出版社')tablespacemytemp1,partitionpart1values('岭南师范出版社')tablespacemytemp2)51,创建组合范围哈希分区表createtablepart_book(数据库内容)partitionbyrange(booktime)subpartitionbyhash(bid)subpartitions2storein(mytemp1,mytemp2)(分区part1值lessthan('01-January-2008'),partitionpart1值小于('01-January-2009'),partitionpart1值小于(maxvalue));