oracle数据库常用SQL语句


1)删除表的一列
 ALTER TABLE 表名 DROP COLUMN 列名;

2)增加表的一列 且默认值为0
alter table 表名 add 字段名 类型 default '0';

3)修改表的字段为NULL
ALTER TABLE 表名 MODIFY 要修改的字段名字 NULL;

4)修改表的字段名
alter table 表名 rename column 原字段名 to 目标字段名;

5)创建视图
CREATE VIEW 视图名字AS sql语句

6)删除视图
drop view 视图名字

7)修改表名字
ALTER TABLE 旧表名 RENAME TO  新表名;
 8)取最小ID 

SELECT MIN(patientid)+1 AS patientid FROM patient a WHERE NOT EXISTS(SELECT patientid FROM patient b WHERE a.patientid+1=b.patientid)

 9)更新表的字段值是另外一个表的字段值。

UPDATE DRUGPA Dp SET dp.MATERIALID= (SELECT M.MATERIALID FROM MATERIAL M WHERE DP.DRUGID=M.DRUGID and m.MATERIALtype='4' and dp.sign='1' ) WHERE EXISTS(SELECT 1 FROM MATERIAL M WHERE DP.DRUGID=M.DRUGID and m.MATERIALtype='4' and dp.sign='1')

 10)创建序列

CREATE SEQUENCE "SEQ_ZHX0826_DIABETES_VISIT"  MINVALUE 1 MAXVALUE 9999999999999999999999999999

INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE ;

11)删除序列

DROP SEQUENCE SEQ_ZHX0826_DIABETES_VISIT;

12)对blob类型的字段nr插入数据,rawtohex()函数为转换十六进制的二进制进行存储。

insert into W_nrfb (id,mkmxid,czy,nr) values (portals_seq.nextval,1,1,rawtohex('--------------###'))

13)在查询blob较小的时候可以使用

select convert(UTL_RAW.CAST_TO_VARCHAR2(nr), 'utf8', 'zhs16gbk') from W_nrfb where id=81 

  

posted @ 2015-09-28 14:20  天辰夜域  阅读(233)  评论(0编辑  收藏  举报