oracle数据库常用SQL语句

时间:2023-03-08 15:53:29

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