個人常用的sql腳本語句

SQL語句彙總

1.SQL語句排序語句
select * from 【表名】 order by 【表字段】 ASC ; --升序
select * from 【表名】 order by 【表字段】 DESC ; --降序


2.檢查用戶名是否有重複的賬號
select  NAME,count(id) from T_USER   group by NAME     having count(id)>1

3.通過關聯字段update表中字段

update T_ILLEGAL_POLT a
set a.illegal_action =
( select b.id from T_ILLEGAL_ACTION2 b where a.description = b.alias);


4表空間創建
4.1創建臨時表空間 

CREATE  TEMPORARY TABLESPACE TE_TEMP  
TEMPFILE 'E:\oracle\product\10.2.0\oradata\orcl\TE_TEMP.DBF' 
SIZE 1024M  
REUSE  
AUTOEXTEND  
ON NEXT 100M 
MAXSIZE 2048M  
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1024K; 


4.2創建數據表空間 

CREATE   TABLESPACE TE  
DATAFILE 'E:\oracle\product\10.2.0\oradata\orcl\TE.DBF'  
SIZE 1024M  
REUSE  
AUTOEXTEND  
ON NEXT 100M  
MAXSIZE 4096M  
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1024K; 

4.3刪除用戶TE3登錄
drop user TE cascade;     

4.4創建用戶並指定表空間  
create user TE identified by TE default tablespace TE temporary tablespace TE_TEMP; 

4.5用戶授權 
grant connect,resource,dba to TE;

4.6導入數據庫
imp TE/TE@TE full=y file=E:\comit.te\data\ZHIFADATAtebei2011-12-26.dmp


5.增加表字段
alter table【表名】 add 【字段名】 【字段類型】;
例子:
alter 【表名】 add  name    VARCHAR2(255) default ''


5.1修改表字段屬性或字段名
alter table【表名】 modify 【字段名】 【字段類型】;

5.2刪除表字段
alter table 【表名】 drop column 【字段名】;


6.數據庫導入語句:
  
1. 獲取幫助  
  imp help=y  
2. 導入一個完整數據庫 
  imp system/manager file=bible_db log=dible_db full=y ignore=y  
3. 導入一個或一組指定用戶所屬的全部表、索引和其他對象 
  imp system/manager file=seapark log=seapark fromuser=seapark imp  system/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold)  
4. 將一個用戶所屬的數據導入另一個用戶 
  imp system/manager file=tank log=tank fromuser=seapark touser=seapark_copy  imp system/manager file=tank log=tank fromuser=(seapark,amy)  touser=(seapark1, amy1) 
5. 導入一個表 
  imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b) 
6. 從多個文件導入 
  imp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)  log=paycheck, filesize=1G full=y 
7. 使用參數文件  
  imp system/manager parfile=bible_tables.par  
bible_tables.par參數文件:  #Import the sample tables used for the Oracle8i Database Administrator's  Bible. fromuser=seapark touser=seapark_copy file=seapark log=seapark_import  
8. 增量導入  
imp system./manager inctype= RECTORE FULL=Y FILE=A  Oracle imp/exp  C:Documents and Settingsadministrator>exp help=y  
9.導入  自己電腦
imp TE3/TE3@136 full=y file=E:\新建文件夾\ZHIFADATA2010-06-211330.dmp
10. 導入一個表 
imp TE3/TE3@136 TABLES=(BM_OWNER_MASSAGE,WORK_PERSON,BM_CAR_INFO) file=E:\新建文件夾\ZHIFADATA2010-06-211330.dmp




7.oracle日期加減
7.1oracle時間加法

select sysdate,add_months(sysdate,12) from dual;        --加1年
select sysdate,add_months(sysdate,1) from dual;        --加1月
select sysdate,to_char(sysdate+7,'yyyy-mm-dd HH24:MI:SS') from dual;   --加1星期
select sysdate,to_char(sysdate+1,'yyyy-mm-dd HH24:MI:SS') from dual;   --加1天
select sysdate,to_char(sysdate+1/24,'yyyy-mm-dd HH24:MI:SS') from dual;  --加1小時
select sysdate,to_char(sysdate+1/24/60,'yyyy-mm-dd HH24:MI:SS') from dual;  --加1分鐘
select sysdate,to_char(sysdate+1/24/60/60,'yyyy-mm-dd HH24:MI:SS') from dual;  --加1秒
7.2oracle時間減法
select sysdate,add_months(sysdate,-12) from dual;        --減1年
select sysdate,add_months(sysdate,-1) from dual;        --減1月
select sysdate,to_char(sysdate-7,'yyyy-mm-dd HH24:MI:SS') from dual;   --減1星期
select sysdate,to_char(sysdate-1,'yyyy-mm-dd HH24:MI:SS') from dual;   --減1天
select sysdate,to_char(sysdate-1/24,'yyyy-mm-dd HH24:MI:SS') from dual;  --減1小時
select sysdate,to_char(sysdate-1/24/60,'yyyy-mm-dd HH24:MI:SS') from dual;  --減1分鐘
select sysdate,to_char(sysdate-1/24/60/60,'yyyy-mm-dd HH24:MI:SS') from dual;  --減1秒

8.oracle計算時間差函數
8.1兩個Date類型字段:START_DATE,END_DATE,計算這兩個日期的時間差:

天:
ROUND(TO_NUMBER(END_DATE - START_DATE))
小時:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24)
分鐘:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60)
秒:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60)
毫秒:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60 * 1000)

8.2日期格式參數含義說明
D 一週中的星期幾
DAY 天的名字,使用空格填充到 9 個字符
DD 月中的第幾天
DDD 年中的第幾天
DY 天的簡寫名
IW ISO 標準的年中的第幾周
IYYY ISO 標準的四位年份
YYYY 四位年份
YYY,YY,Y 年份的最後三位,兩位,一位
HH 小時,按 12 小時計
HH24 小時,按 24 小時計
MI 分
SS 秒
MM 月
Mon 月份的簡寫
Month 月份的全名
W 該月的第幾個星期
WW 年中的第幾個星期    

8.3日期時間間隔操作
當前時間減去 7 分鐘的時間
select sysdate,sysdate - interval '7' MINUTE from dual
當前時間減去 7 小時的時間
select sysdate - interval '7' hour from dual
當前時間減去 7 天的時間
select sysdate - interval '7' day from dual
當前時間減去 7 月的時間
select sysdate,sysdate - interval '7' month from dual
當前時間減去 7 年的時間
select sysdate,sysdate - interval '7' year from dual
時間間隔乘以一個數字
select sysdate,sysdate - 8 *interval '2' hour from dual

8.4日期到字符操作
select sysdate,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual
select sysdate,to_char(sysdate,'yyyy-mm-dd hh:mi:ss') from dual
select sysdate,to_char(sysdate,'yyyy-ddd hh:mi:ss') from dual
select sysdate,to_char(sysdate,'yyyy-mm iw-d hh:mi:ss') from dual

8.5字符到日期操作
select to_date('2003-10-17 21:15:37','yyyy-mm-dd hh24:mi:ss') from dual

9.代替腳本
update t_dim_illegaltime t set t.illegalquarter=replace(illegalquarter,'第一季度', '1第一季度');












發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章