oracle测试实用SQL语句
发布日期:2021-05-14 09:14:59 浏览次数:21 分类:精选文章

本文共 3267 字,大约阅读时间需要 10 分钟。

数据库操作指南

了解如何高效管理和操作数据库是技术工作者不可或缺的能力。本文将提供一系列数据库操作的技巧和实用案例。

查询数据库表信息

要查询数据库中所有表名,可以使用以下命令:

select * from user_tables;

此命令会返回数据库中所有的表名。

查询表中的字段信息

想知道指定表的所有字段名,可以使用以下查询:

select column_name from user_tab_columns where table_name = 'table_name';--表名要全大写

该命令会为你返回指定表格的所有字段名。

查询字段信息和字段注释

查询表中所有列名及相应注释,可以使用以下命令:

select * from user_col_comments where table_name = 'table_name';--表名要全大写

此命令会返回包含字段注释的详细结果。

修改字段注释

要为表中的特定字段添加注释,可以使用以下命令:

comment on column table_name.column_name is '注释';

需要注意,注释字符串需用单引号包裹。

查询表和表注释

想要了解表格及其注释信息,可以使用以下命令:

select * from user_tab_comments;

去重查询

如果需要筛选重复数据只返回一行,可以使用以下命令:

select distinct job from emp where deptno = 20;

插入数据

向数据库中插入数据有两种方式。一种是按字段插入:

insert into table_name(column1, column2, column3) values (value1, value2, value3);

另一种是批量插入数据:

insert into table_name values (value1, value2, value3), (value1, value2, value3), ... ;

时间条件查询

进行时间条件查询时,可以使用 vesselize 运算符(&)来比较日期字段:

select * from table_name where time_field > to_date('20210414 16:00:00', 'yyyy/mm/dd hh24:mi:ss');

查询系统当前时间

使用 SysDate 获取当前系统时间:

select TO_Char(SysDate, 'YYYY-MM-DD HH24:MI:SS') from Dual;

此命令会返回当前系统日期和时间。

系统日期和日期截取

查询系统日期和时间的不同截取方式:

select sysdate from Dual; -- 当前日期和时间
select trunc(sysdate) from Dual; -- 今天日期
select trunc(sysdate, 'DD') from Dual; -- 今日日期
select trunc(sysdate, 'dy') + 7 from Dual; -- 本周星期日
select trunc(sysdate, 'day') + 7 from Dual; -- 本周星期日
select trunc(sysdate, 'q') from Dual; -- 本季度开始日期
select trunc(sysdate, 'month') from Dual; -- 本月开始日期
select trunc(sysdate, 'mm') from Dual; -- 本月开始日期
select trunc(sysdate, 'year') from Dual; -- 本年开始日期
select trunc(sysdate, 'yyyy') from Dual; -- 本年开始日期
select trunc(sysdate, 'HH24') from Dual; -- 本小时开始时间
select trunc(sysdate, 'MI') from Dual; -- 本分钟开始时间
select trunc(sysdate, 'CC') from Dual; -- 本世纪开始日期
select last_day(sysdate, 'dd') from Dual; -- 本月的最后一天

删除数据库记录

数据库记录的删除操作会作为事务记录保存在日志中:

delete from table_name where column_name = value;

清空数据库表

要清空表中的所有数据,但不记录删除操作,可以使用以下命令:

truncate table table_name;

删除数据库表

永久删除表及其数据,可以使用以下命令:

drop table table_name;

按多个字段排序查询

按照 cno 升序、degree 降序查询成绩表:

select * from score order by cno, degree desc;

查询表中特定字段的数量

想知道表中某字段的记录数量,可以使用以下命令:

select count(NAME) from QTY where NAME = 'LOVE';

查询表中最高QTY_D记录

查询表中最高 QTY_D 的记录,主要关注 QTY_DSEQ_IDNAME

select NAME, SEQ_ID, QTY_D from QTY where QTY_D in (select max(QTY_D) from QTY);

查询表中某字段的平均值

计算表中某字段的平均值:

select avg(QTY_D), NAME from QTY group by NAME;

查询满足特定条件的记录数量

统计满足特定条件的记录数量和平均值:

select avg(QTY_D), NAME, count(NAME) from QTY where NAME like '冰%' group by NAME having count(NAME) > 5;

查询多个字段的平均值

对多个字段进行平均值计算:

select QTY_D, QTY_D_TQ, QTY_M, QTY_M_TQ, (QTY_D + QTY_D_TQ + QTY_M + QTY_M_TQ) / 4 as average from QTY;

综合评价字段值

对字段进行综合评价:

select QTY_D, (case when QTY_D < 20 then '低' when QTY_D >= 20 and QTY_D <= 50 then '中' when QTY_D > 50 then '高' else '低' end) as evaluation from QTY;

CASE WHEN Condition

使用 CASE WHEN 查看字段值对应的评价结果:

condition 是一个返回布尔值的表达式。如果条件为 `true`,则返回相应的结果。如果条件为 `false`,则返回 `ELSE` 后的结果。若省略 `ELSE` 子句,则返回 `NULL`。

快速数据检查

需要快速检查某字段是否有数据,可以使用以下命令:

select max(field_name), min(field_name) from table_name;

计算百分比

计算某字段达成率的百分比:

select NAME, sum(M), sum(PBP), round(sum(M)/sum(PBP), 3) * 100 || '%' as pcp from table_name group by NAME;

这些技术指南希望能为您提供实用的数据库操作参考。无论是查询表信息、数据插入、时间处理,还是字段操作,这些命令都能帮助您完成数据库管理任务。

上一篇:一、对C语言的初步认识
下一篇:selenium中如何高亮显示定位元素

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2025年05月18日 07时53分48秒