打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
应用开发中的常用SQL语句
应用开发中的常用SQL语句(一)

一、数据库中的锁表问题。

在开发中可能会遇到执行某个表的SQL操作时,java代码执行堵住不会继续往下走,debug时也会在这里停止且程序不会有异常抛出,这时候就可能是数据库中有表被锁住了。(有人执行数据库增删改操作时没有提交事务)所以下面的SQL语句就被用到了。(这在团队协作开发中是经常遇见的)

查看被锁住的表以及锁住该表的用户

SELECT object_name, machine, s.sid, s.serial# FROM gv$locked_object l, dba_objects o, gv$session s WHERE l.object_id = o.object_id AND l.session_id = s.sid;

结果查看

第一个字段是锁住的表,第二个字段是锁住该表的用户,后两个是锁表的进程id。

杀死进程(解锁锁住的表)

alter system kill session 'sid, serial#'; --sid serial#为上条sql查出的进程id

例:ALTER system kill session '124,1110';

执行该语句之后,在执行上面语句就没有结果了,表示成功解锁。在执行java代码就没有那种问题了。

二、数据库中的分页语句(Oracle、Mysql)。

项目开发中对数据的展示进行分页是很重要的,也是必须的。下面介绍Oracle和Mysql数据库中的分页SQL语句。

Oracle SQL: select * from(select rownum 行数,e.* from emp e where rownum<=9)>=6

以scott用户里emp表为例,展示行数6到9的数据,结果如下:

分页展示6-9行的数据

Mysql SQL: SELECT * FROM `user` limit 5,4;

显示user表第5条(不包括第5条)的后4条数据,显示结果如下:

分页展示6-9行的数据

三、查询当前登录用户下的所有表以及表的注释。

该sql语句可以用于查用户下每个表以及每个表的注释(适用于查表)。以Oracle中的scott用户下的表为例:

select 'select * from ' || a.table_name || '; -- ' || a.comments from user_tab_comments a;

scott用户下的所有表及注释

三、关于表的一些统计SQL

查询一个表有多少条数据:

select count(*) 行数 from emp;

查询一个表有多少字段:

Oracle SQL: select count(*) 字段数 from user_tab_cols where table_name='EMP';--表名必须大写

Mysql SQL: select count(*) 字段数 from information_schema.COLUMNS where table_name='user' --表名大小写均可

四、Oracle中导入表及数据

dmp方式 windows cmd命令中运行即可

imp 用户名/密码 file=E:\XXX\XXX\XXX.dmp full=y;

SQL语句方式,登录后@sql脚本即可即可。(可以在PL/SQL Developer软件中,新建命令窗口)如下图所示:

实例

好了,今天常用的SQL语句就记到这里,明天再见了~

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Oracle PL/SQL随堂笔记总结
oracle基础sql语句
ORACLE SQL*PLUS
SQL总结
oracle sql 效率优化
oracle知识点总结(一)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服