工作以来一部分的Oracle总结
刚入门的小菜鸟写给小白的一些常用SQL句式,内容很基础。大神们笑笑就好。
--备份表数据
create table tablename_bf_date as select * from tablename;
--新建列
alter table tablename add columnname varchar2(20);
--更新表内容
update tablename set columnname1=' ' where columnname1=' ';
--删除列
ALTER TABLE tablename DROP COLUMN columnname;
--修改列类型
alter table tablename alter column columnName varchar(4000);
--修改字段大小
alter table tblename modify(columnname varchar2(1000));
--修改列名
ALTER TABLE tablename RENAME COLUMN columnname1 TO columnname2;
--插入数据
INSERT INTO tablename(col1,col2...) VALUES(value1, value2...);
INSERT INTO tablename1 select * from tablename2 where...;
INSERT INTO tablename1(col1,col2...) select * from tablename2 where...;
--数据泵导出数据库
expdp scott/scott123@orcl dumpfile=orcl.dmp logfile=orcl.log version=10.2.0.1.0
--通过数据泵导入库
--1、现在要导入的库里新建路径(根据实际情况调整)
CREATE OR REPLACE directory dpdata1 as 'F:\floder';
--2、将要导入的库放在该路径下
--3、在cmd中执行该语句(根据实际情况调整)
impdp scott/scott123@orcl directory=dpdata1 dumpfile=orcl.dmp;
--赋权限语句
grant select any table to scott;
grant update any table to scott;
grant delete any table to scott;
--查询某一时间点之前的数据
select * from tablename as of timestamp to_timestamp('2019-11-25 17:00:00','yyyy-mm-dd hh24:mi:ss');
--闪回
FLASHBACK TABLE tablename TO TIMESTAMP TO_TIMESTAMP('2018-04-23 16:06:00','yyyy-mm-dd hh24:mi:ss');
--启动表的row movement特性
ALTER TABLE tablename ENABLE ROW MOVEMENT;
--闪回表(通过TRUNCATE语句删除的表无法闪回)
FLASHBACK TABLE tablename TO BEFORE DROP;
在这里要感谢我在各个论坛和网站上见过的帖子。
以上虽然都是很零碎的知识,但希望能给刚接手的小伙伴们提供一些帮助。