个人常用的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第一季度');












  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值