关于ORACLE的各种操作~持续汇总~
- 增.删.改:
增加所有 INSERT INTO 表名 VALUES(序列名.NEXTVAL,'值1','值2','值3','值4','值5'); 指定增加 INSERT INTO 表名(字段1,字段2) VALUES('值1','值2'); 指定删除 DELETE FROM 表名 WHERE 字段1='值1'; 删除所有 DELETE FROM 表名; 指定更新 UPDATE 表名 SET 字段1='值1',字段2='值2' WHERE 字段3='值3';
INSERT INTO YXDP_B_TPF VALUES(SEQ_B_TPF.NEXTVAL,'蛋蛋','52','16526536566','skdlfew开放男就难看','男'); INSERT INTO YXDP_B_TPF(ID,XM) VALUES(SEQ_B_TPF.NEXTVAL,'前几年开发商'); DELETE FROM YXDP_B_TPF WHERE XM='前几年开发商'; DELETE FROM YXDP_B_TPF; UPDATE YXDP_B_TPF SET XM='247',NL='247' WHERE XB='男';
- 序列的创建:
CREATE SEQUENCE SEQ_TEST INCREMENT BY 1 START WITH 1 NOMAXVALUE NOCYCLE NOCACHE;
此时创建的序列名为 SEQ_TEST
INCREMENT BY : 序列的变化值.这里为1.所以它的下个值会加1.如果这里为2的话.它的下个值会加2.如果为-2的话.它的下个值会-2.
START WITH : 序列的初始值.这里设置为1.默认也为1NOMAXVALUE
:序列的最大值.默认无最大值 NOMAXVALUE
NOCYCLE:不循环. 默认也是NOCYCLE
NOCACHE:缓存的序列个数.默认20.这里设置为不缓存
创建快捷方法:CREATE SEQUENCE 序列名;
- 序列的查询
SELECT 序列名.CURRVAL 当前序列值 FROM DUAL;
例如:SELECT SEQ_B_DATADISPOSE_ENTERING_MU.CURRVAL 当前序列值 FROM DUAL;
SELECT 序列名.NEXTVAL 下一个序列值 FROM DUAL;
例如:SELECT SEQ_B_DATADISPOSE_ENTERING_MU.NEXTVAL 下一个序列值 FROM DUAL;
- 删除序列
DROP SEQUENCE 序列名;
- 查询所有储存过程、触发器、序列、视图、表
SELECT OBJECT_NAME 储存过程名 FROM USER_OBJECTS WHERE OBJECT_TYPE='PROCEDURE'; SELECT OBJECT_NAME 触发器名 FROM USER_OBJECTS WHERE OBJECT_TYPE='TRIGGER'; SELECT OBJECT_NAME 序列名 FROM USER_OBJECTS WHERE OBJECT_TYPE='CURSOR'; SELECT OBJECT_NAME 视图名 FROM USER_OBJECTS WHERE OBJECT_TYPE='VIEW'; SELECT OBJECT_NAME 表名 FROM USER_OBJECTS WHERE OBJECT_TYPE='TABLE';
- 修改表、字段信息
修改表名 ALTER TABLE 原表名 RENAME TO 新表名; 修改字段名 ALTER TABLE 表名 RENAME COLUMN 原字段名 TO 新字段名; 添加字段 ALTER TABLE 表名 ADD (字段名 VARCHAR2(255) NOT NULL); 删除字段 ALTER TABLE 表名 DROP COLUMN 字段名;
修改表注释
COMMENT ON TABLE 表名 IS '要修改的注释';
修改字段注释
COMMENT ON COLUMN 表名.字段名 IS '要修改的注释';
- 查看表注释
查询YXDP_B_ACTUAL_FLIGHT_TOTAL中所有字段的注释
SELECT * FROM USER_COL_COMMENTS WHERE TABLE_NAME='YXDP_B_ACTUAL_FLIGHT_TOTAL';
- DELETE删除,数据找回方法
这里查找的数据是2019-05-14的数据, SELECT * FROM 表名 AS OF TIMESTAMP TO_TIMESTAMP('2019-05-14','yyyy-mm-dd') 把删除的表2数据 重新恢复到表1中 INSERT INTO 表名1(SELECT * FROM 表名2 AS OF TIMESTAMP TO_TIMESTAMP('2019-05-14','yyyy-mm-dd '));