常用语句汇总
2021/1/27
18.用SQL获取日期字段的年份/月份/第几天: Select Extract(year/month/day from sysdate) from dual ;
2020/5/16
17.查询某个字段值大于指定长度的语句:
select id,testerlh from IQC_MATERIAL_TEST t where length(t.testerlh)>10 ;
2020/5/11
16.执行update前先查询一下替换后下效果:
SELECT REPLACE (material_Specslh , ',','')FROM IQC_MATERIAL_TEST;
17.提交之后的挽回方法:
先创建一个截止到指定时间的备份表,把这个时间戳之前的数据拿出来,在把对应的字段找回来,最后删除创建的备份表.
create table tableName_back1 as SELECT * FROM IQC_MATERIAL_TEST AS OF TIMESTAMP TO_TIMESTAMP('20200511 10:00:00','YYYYMMDD HH24:MI:SS');
update IQC_MATERIAL_TEST tn set tn.testerlh =(select tnb.testerlh from tableName_back1 tnb where tnb.id = tn.id);
2020/1/8
15.变更按条件查询出来的数据
UPDATE(SELECT * FROM STUDENT WHERE NAME='张三')SET BIRTHDAY=DATE '1991-1-5';
2019/12/11
有一个表A,如果想知道这个表的主键被哪些表作为外键,则使用下面语句,select * from user_constraints t where t.r_constraint_name = 'PK_PM_PRD'
其中 'PK_PM_PRD' 是你这个表的主键的名称
查看用户的表空间
select * from user_users;
2019/11/15
14.查看某个字段的类型
select DATA_TYPE from User_Tab_Columns t where t.column_name=upper('plan_Time') and t.table_name =upper(trim('SAM_YEAR_PlAN_CHILDREN'));
2019/10/8
13.没有垃圾数据的删表;drop Table SAM_YEAR_PLAN purge;
查看回收站中的数据:select * from recyclebin where type='TABLE';
清空回收站:PURGE RECYCLEBIN;
2019/5/31
12.修改表单某个字段的类型
--修改原字段名
ALTER TABLE 表名 RENAME COLUMN 字段名 TO 字段名1;
--添加一个和原字段同名的字段
ALTER TABLE 表名 ADD 字段名 VARCHAR2(30);
--将原来的数据更新到新字段中,这时要注意,一定要显示进行数据类型转换(不同于MSSQL)
UPDATE 表名 SET 字段名 = CAST(字段名1 AS VARCHAR2(30));
--删除原来的备份字段
ALTER TABLE 表名 DROP COLUMN 字段名1;
2018/11/30
11.修改某张表某个字段的值:
update 表名 set 字段='值' where 条件;
2018/11/19
10插入/新建/新增一条数据;
INSERT into COST_OUT_COUNT(ID,COMPANY_ID) VALUES(HIBERNATE_SEQUENCE.nextval,'31669');
一般id为主键,创建方式为序列的下一个值(HIBERNATE_SEQUENCE.nextval),
2018/8/31
9.删除表结构释放空间:DROP TBALE SAM_YEAR_PLAN cascade constraints;
删除数据不能回滚:truncate table SAM_YEAR_PLAN;
对于有关联的表,删之前先取消关联:alter table table_name disable primary key cascade;
然后在执行删除:delete SAM_YEAR_PLAN;
最后在启用关联关系:alter table SAM_YEAR_PLAN enable primary key;
2018/6/13
8.ORACLE中的时间格式;
年月:yyyy-mm
年月日: yyyy-MM-dd
2018/5/31
7.GROUP BY 关键字
可以使用GROUP BY将一张表分成多个小组,并对每一个小组返回一个计算值GROUP BY(deptno,job) order by
deptno asc;
在使用group by 时,有一个规则需要遵守,即出现在select列表中的字段,如果没有在组函数中,那么必须
出现在group by 子句中。
(select中的字段不可以单独出现,必须出现在group语句中或者在组函数中。)
6.JOIN关键字
6.1 left join 左表为主表,左表返回全部数据,右表只返回与左表相匹配的数据
6.2 right join 右表为主表,右表返回全部数据,左表只返回与右表相匹配的数据
6.3 inner join 只返回两表相匹配的数据
7.4 full join 全部结果集
2018/1/24
5.Oracle的概念理解:存储过程/数据字典
4.修改某个格式化时间的值
UPDATE 表名 SET 字段名=TO_DATE('格式化的时间','格式模板')WHERE ....
update TCMPCE_PHYSICAL_CHEMICAL SET app_Date= TO_DATE('2017-11-17 08:03','yyyy-mm-dd hh:mi:ss')
如果想要24小时制的就修改成这样:TO_DATE('2017-11-17 08:03','yyyy-mm-dd hh:mi:ss').
WHERE physical_No='SA201711088'
3.增加一个字段
alter table COST_OUT_COUNT ADD fill_Time DATE;
alter table COST_INNER_LOSS ADD (remark VARCHAR2(800));
2删除数据表的某列:ALTER +表名 + DROP COLUMN +列名
ALTER TABLE COST_INNER_COUNT drop COLUMN productType;
1.修改某表中的一个字段的长度(大小)
alter table 表名 modify 字段名 数据类型
alter table TCMPCE_LABORATORY_REPORT_ITEM modify standards varchar2(9000);
一般id为主键,创建方式为id int primary key auto_increment,