ITPub博客

首页 > 数据库 > 数据库开发技术 > 一些常用的sql

一些常用的sql

原创 数据库开发技术 作者:playwawa 时间:2004-12-27 13:47:19 0 删除 编辑
從網上看到的一份很詳細的文章,講的也是一些常用的sql可是覺得有的東西別人適用的也不一定適合我,所以打算從頭到尾看看,整理出自己需要的貼出來以備後用.已經整理完了.[@more@]1.一個table佔用的空間 SQL> select owner ,table_name,num_rows,blocks*8192/1024/1024 "size M" ,empty_blocks, 2 last_analyzed from dba_tables where table_name='WVLS'; 2. 最大的session數目 SQL> select * from v$license; SESSIONS_MAX SESSIONS_WARNING SESSIONS_CURRENT SESSIONS_HIGHWATER USERS_MAX 3.database 創建的時間 SQL> select created from v$database ; 4.database 名稱 SQL> select name from v$database ; 5. 通過sql plus 查找本機IP select sys_context('userenv','ip_address') from dual; 6.查詢表空間信息 SELECT * FROM dba_data_files; 7.查看各個表空間佔用磁盤的情況 SQL> select b.file_id 文件ID號, b.tablespace_name 表空間名, b.bytes 字節數, (b.bytes-sum(nvl(a.bytes,0))) 已使用, sum(nvl(a.bytes,0)) 剩餘空間, sum(nvl(a.bytes,0))/(b.bytes)*100 剩餘百分比 from dba_free_space a,dba_data_files b where a.file_id=b.file_id group by b.tablespace_name,b.file_id,b.bytes order by b.file_id; 注意:nvl表示如果a.bytes欄位的值為空(null)則返回0,如果不為空則返回a.bytes 的值 8.查看系統當前的SCN 號 select max(ktuxescnw * power(2, 32) + ktuxescnb) from x$ktuxe; 9.用中文排序 Oracle9i之前,中文是按照二進制編碼進行排序的。 在oracle9i中新增了按照拼音,部首,筆劃排序的功能,通過設置NLS_SORT值 可以達到效果 SQL> alter session set NLS_SORT=SCHINESE_PINYIN_M; Session altered SQL> SELECT * FROM TEST ORDER BY A; 其中:NLS_SORT=SCHINESE_RADICAL_M 表示按照部首(第一順序),筆劃(第二順序)排序 NLS_SORT=SCHINESE_STROKE_M 表示按照筆劃(第一順序),部首(第二順序)排序 NLS_SORT=SCHINESE_PINYIN_M 表示按照拼音排序 10. sql plus 選項的設定(之前從來沒有碰到過,是一個新知識) SQL*PLUS自身的選項設置可以在$ORACLE_HOME/sqlplus/admin/glogin.sql中設置。 11.將小表放入keep 池中 alter table xxx storage(buffer_pool keep); 12.使select 語句的查詢結果自動生成序號 select rownum,COL from table; 13.查看哪些user 有sysdba,sysoper權限 select * from V$PWFILE_USERS; 14.查看數據文件放置的路徑 select tablespace_name,file_id,bytes/1024/1024,file_name from dba_data_files order by file_id; 15.查看數據庫有多少個instance and instance 的狀態等信息 select * from v$instance; 16.查看數據庫裡面所有的table select * from all_tables; 17.查看sql 語句執行的時間 sql>set timing on; sql>select ..... sql>set timing off; 18.查詢後table 欄位的連接起來的書寫 select concat(col1,col2) from table; 這種只適用與兩個欄位的連接 select col1 || col2 ||col3 from table ; 這種適用與多個欄位的連接 19.在sqlplus 下面改變字段的大小(只能改大不能改小) alter table table_name modify (field_name varchar2(100)); 20.如何在table 裡面插入全年的日期(真的很不錯的sql) create table BSYEAR (d date); insert into BSYEAR select to_date('20030101','yyyymmdd')+rownum-1 from all_objects where rownum

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/202861/viewspace-785606/,如需转载,请注明出处,否则将追究法律责任。

上一篇: [轉]学会发泄
请登录后发表评论 登录
全部评论
  • 博文量
    105
  • 访问量
    1173514