当前位置: 首页 > news >正文

GBASE8s数据库-常用SQL命令

查找业务表index包含的列名SQL

select c.idxname,a.tabname,b.colname as column_name
from systables a ,syscolumns b ,sysindexes c
where a.tabid = b.tabid
and a.tabid = c.tabid
and ( b.colno = c.part1 or b.colno = c.part2 or b.colno = c.part3 or b.colno = c.part4
or b.colno = c.part5 or b.colno = c.part6 or b.colno = c.part7 or b.colno = c.part8
or b.colno = c.part9 or b.colno = c.part10 or b.colno = c.part11 or b.colno = c.part12
or b.colno = c.part13 or b.colno = c.part14 or b.colno = c.part15 or b.colno = c.part16)
and c.idxname =
order by c.idxname

查找业务表主键信息SQL

select
o.constrname,
i.idxname,
t.tabname,
(select c1.colname from syscolumns c1 where c1.colno=abs(i.part1) and o.tabid=c1.tabid) ||
nvl2( (select c1.colname from syscolumns c1 where c1.colno=abs(i.part2 ) and o.tabid=c1.tabid),','||(select c1.colname from syscolumns c1 where c1.colno=abs(i.part2 ) and o.tabid=c1.tabid),'')||
nvl2((select c1.colname from syscolumns c1 where c1.colno=abs(i.part3 ) and o.tabid=c1.tabid),','||(select c1.colname from syscolumns c1 where c1.colno=abs(i.part3 ) and o.tabid=c1.tabid) ,'')||
nvl2((select c1.colname from syscolumns c1 where c1.colno=abs(i.part4 ) and o.tabid=c1.tabid),','||(select c1.colname from syscolumns c1 where c1.colno=abs(i.part4 ) and o.tabid=c1.tabid),'')||
nvl2((select c1.colname from syscolumns c1 where c1.colno=abs(i.part5 ) and o.tabid=c1.tabid),','||(select c1.colname from syscolumns c1 where c1.colno=abs(i.part5 ) and o.tabid=c1.tabid),'')||
nvl2((select c1.colname from syscolumns c1 where c1.colno=abs(i.part6 ) and o.tabid=c1.tabid),','||(select c1.colname from syscolumns c1 where c1.colno=abs(i.part6 ) and o.tabid=c1.tabid),'')||
nvl2((select c1.colname from syscolumns c1 where c1.colno=abs(i.part7 ) and o.tabid=c1.tabid),','||(select c1.colname from syscolumns c1 where c1.colno=abs(i.part7 ) and o.tabid=c1.tabid),'')||
nvl2((select c1.colname from syscolumns c1 where c1.colno=abs(i.part8 ) and o.tabid=c1.tabid),','||(select c1.colname from syscolumns c1 where c1.colno=abs(i.part8 ) and o.tabid=c1.tabid),'')||
nvl2((select c1.colname from syscolumns c1 where c1.colno=abs(i.part9 ) and o.tabid=c1.tabid),','||(select c1.colname from syscolumns c1 where c1.colno=abs(i.part9 ) and o.tabid=c1.tabid),'')||
nvl2((select c1.colname from syscolumns c1 where c1.colno=abs(i.part10) and o.tabid=c1.tabid),','||(select c1.colname from syscolumns c1 where c1.colno=abs(i.part10) and o.tabid=c1.tabid),'')||
nvl2((select c1.colname from syscolumns c1 where c1.colno=abs(i.part11) and o.tabid=c1.tabid),','||(select c1.colname from syscolumns c1 where c1.colno=abs(i.part11) and o.tabid=c1.tabid),'')||
nvl2((select c1.colname from syscolumns c1 where c1.colno=abs(i.part12) and o.tabid=c1.tabid),','||(select c1.colname from syscolumns c1 where c1.colno=abs(i.part12) and o.tabid=c1.tabid),'')||
nvl2((select c1.colname from syscolumns c1 where c1.colno=abs(i.part13) and o.tabid=c1.tabid),','||(select c1.colname from syscolumns c1 where c1.colno=abs(i.part13) and o.tabid=c1.tabid),'')||
nvl2((select c1.colname from syscolumns c1 where c1.colno=abs(i.part14) and o.tabid=c1.tabid),','||(select c1.colname from syscolumns c1 where c1.colno=abs(i.part14) and o.tabid=c1.tabid),'')||
nvl2((select c1.colname from syscolumns c1 where c1.colno=abs(i.part15) and o.tabid=c1.tabid),','||(select c1.colname from syscolumns c1 where c1.colno=abs(i.part15) and o.tabid=c1.tabid),'')||
nvl2((select c1.colname from syscolumns c1 where c1.colno=abs(i.part16) and o.tabid=c1.tabid),','||(select c1.colname from syscolumns c1 where c1.colno=abs(i.part16) and o.tabid=c1.tabid),'') collist
from sysconstraints o,sysindexes i,systables t
where o.constrtype='P'
and o.idxname=i.idxname
and o.tabid=t.tabid
and t.tabname='t103';

查找所有业务表名SQL

select tabname from systables where tabid>99 and tabtype='T'

查看dbspace下数据库和表的占用情况

select c.name dbspace,b.dbsname database,b.tabname,
round(sum(d.pe_size)*2/1024) size_1m
from systabinfo a,systabnames b,sysdbspaces c,sysptnext d
where a.ti_partnum = b.partnum and
b.partnum = d.pe_partnum and
partdbsnum(a.ti_partnum)=c.dbsnum
and b.dbsname=<表空间名称>
group by 1,2,3
order by 4 desc
select c.name dbspace,b.dbsname database
from systabinfo a,systabnames b,sysdbspaces c
where a.ti_partnum = b.partnum and
partdbsnum(a.ti_partnum)=c.dbsnum
and b.dbsname='rootdbs';

查看库容量

select t1.dbsname,
format_units(sum(ti_nptotal),max(ti_pagesize)) allocated_size,
format_units(sum(ti_npused),max(ti_pagesize))  used_size
from systabnames t1, systabinfo t2,sysdatabases t3
where t1.partnum = t2.ti_partnum
and trim(t3.name)=trim(t1.dbsname)
group by dbsname
order by sum(ti_nptotal) desc;

计算所有库总容量

SELECT FORMAT_UNITS(SUM(totalSize)) AS totalSizeSum
FROM (SELECT dbsname AS dbname, SUM(ti_pagesize * ti_nptotal) AS totalSizeFROM sysmaster:systabinfo iJOIN sysmaster:systabnames t ON i.ti_partnum = t.partnumGROUP BY dbsname
) AS inner_query;

查看表所在库和表空间

select c.name dbspace,b.dbsname database
from sysmaster:systabinfo a,sysmaster:systabnames b,sysmaster:sysdbspaces c,sysmaster:systabnames d
where a.ti_partnum = b.partnum and b.partnum = d.partnum and
sysmaster:partdbsnum(a.ti_partnum)=c.dbsnum
and d.tabname='taarea4'

获取当前库名

select dbinfo("dbname") from sysmaster:sysdual;

获取实例名

select dbservername from dual;

查询当前登录用户,实例名以及数据库名信息。

select a.cf_original, DBINFO('dbname') dbname,user user from sysmaster:sysconfig a where cf_name = 'DBSERVERNAME';

查看库字符集信息

select * from sysmaster:sysdbslocale

查看所有数据库

select * from sysmaster:sysdatabases

查看各个表空间page使用情况的sql

select name[1,8] dbspace,
sum(chksize) Pages_size,
sum(chksize) - sum(nfree) Pages_used,
sum(nfree) Pages_free,
round ((sum(nfree)) / (sum(chksize)) * 100, 2) percent_free
from sysdbspaces d, syschunks c where d.dbsnum = c.dbsnum
group by 1 order by 1;

查看哪些库存放在哪些表空间上

select a.name as db_name,b.name as space_name
from sysmaster:sysdatabases a,sysmaster:sysdbspaces b
where trunc(a.partnum/1048576) = b.dbsnum
select * from sysmaster:sysdatabases;
select dbinfo('dbspace',partnum) from sysdual; 将partnum转换成对应的dbspace 名称

分区表查询在某一个分区的具体数据条数

select t.tabname, f.partition,p.nrows
from systables t,sysfragments f, sysmaster:sysptnhdr p
where f.partn = p.partnum
and t.tabid = f.tabid
and f.fragtype = 'T'
and t.tabname = 'tf'

查询表和字段的注释

SELECT
b.tabname,
a.comments AS tab_comment,
c.colname,
d.comments AS col_comment
FROM
syscomms a ,
systables b,
syscolumns c,
syscolcomms d
WHERE
a.tabid=b.tabid
AND a.tabid=c.tabid
AND a.tabid=d.tabid
AND c.colno=d.colno;

查看数据库序列名称

SELECT t.tabname SeqName FROM Syssequences s, Systables t WHERE t.tabid = s.tabid ;

获取约束名称(P主键,R外键参考):

SELECT t.tabname, c.constrtype, c.constrname
FROM sysconstraints c, systables t
WHERE c.tabid = t.tabid
AND c.constrtype IN ('P','R')
AND t.tabname = '表名';

批量启用约束

启用
select 'SET CONSTRAINTS ' || name ||' enabled;' from sysobjstate where tabid>99;
禁用
select 'SET CONSTRAINTS ' || name ||'disabled;' from sysobjstate where tabid>99;

查询数据库版本:

select dbinfo('version_gbase','full') from dual;

统计信息更新具体的表

update statistics high for table tbname;

查询某个库的每张表的数据量

SELECTt.tabname AS table_name,SUM(p.nrows) AS num_rows
FROMsystables t
JOINsysmaster:sysptnhdr p ON t.partnum = p.partnum
WHEREt.tabtype = 'T'AND t.tabid >= 100  -- 排除系统表
GROUP BYt.tabname
ORDER BYt.tabname;

查询某个库表的总行数:

SELECTSUM(p.nrows) AS total_rows
FROMsystables t
JOINsysmaster:sysptnhdr p ON t.partnum = p.partnum
WHEREt.tabtype = 'T'AND t.tabid >= 100;  -- 排除系统表

表空间使用率 sysmaster查询

SELECT
A.dbsnum as No,
trim(B.name) as name,
CASE
WHEN (bitval(B.flags,'0x10')>0 AND bitval(B.flags,'0x2')>0) THEN 'MirroredBlobspace'
WHEN bitval(B.flags,'0x10')>0 THEN 'Blobspace'
WHEN bitval(B.flags,'0x2000')>0 AND bitval(B.flags,'0x8000')>0 THEN 'TempSbspace'
WHEN bitval(B.flags,'0x2000')>0 THEN 'TempDbspace'
WHEN (bitval(B.flags,'0x8000')>0 AND bitval(B.flags,'0x2')>0) THEN 'MirroredSbspace'
WHEN bitval(B.flags,'0x8000')>0 THEN 'SmartBlobspace'
WHEN bitval(B.flags,'0x2')>0 THEN 'MirroredDbspace'
ELSE 'Dbspace'
END as dbstype,
CASE
WHEN bitval(B.flags,'0x4')>0 THEN 'Disabled'
WHEN bitand(B.flags,3584)>0 THEN 'Recovering'
ELSE 'Operational'
END as dbsstatus,
format_units(sum(chksize),2048) as DBS_SIZE ,
format_units(sum(decode(mdsize,-1,decode(nfree,-1,chksize-overhead,nfree),udfree)),2048) as free_size,
TRUNC(100-sum(decode(mdsize,-1,decode(nfree,-1,chksize-overhead,nfree),udfree))*100/sum(chksize),2)||'%' as used,
TRUNC(MAX(A.pagesize/1024)) as pgsize,
MAX(B.nchunks) as nchunks
FROM syschktab A, sysdbstab B
WHERE A.dbsnum = B.dbsnum
GROUP BY A.dbsnum,name, 3, 4
ORDER BY A.dbsnum;

查表名,列名,类型

SELECTt.tabname AS table_name,c.colname AS column_name,CASEc.coltype        WHEN 0 THEN 'CHAR'        WHEN 1 THEN 'SMALLINT'        WHEN 2 THEN 'INTEGER'        WHEN 3 THEN 'FLOAT'        WHEN 4 THEN 'SMALLFLOAT'        WHEN 5 THEN 'DECIMAL'        WHEN 6 THEN 'SERIAL'        WHEN 7 THEN 'DATE'        WHEN 8 THEN 'MONEY'        WHEN 9 THEN 'NULL'        WHEN 10 THEN 'DATETIME'        WHEN 11 THEN 'BYTE'        WHEN 12 THEN 'TEXT'        WHEN 13 THEN 'VARCHAR'        WHEN 14 THEN 'INTERVAL'        WHEN 15 THEN 'NCHAR'        WHEN 16 THEN 'NVARCHAR'        WHEN 17 THEN 'INT8'        WHEN 18 THEN 'SERIAL8'        WHEN 19 THEN 'SET'        WHEN 20 THEN 'MULTISET'        WHEN 21 THEN 'LIST'        WHEN 22 THEN 'ROW (unnamed)'        WHEN 23 THEN 'COLLECTION'        WHEN 40 THEN 'Variable-length opaque type'        WHEN 41 THEN 'Fixed-length opaque type'        WHEN 43 THEN 'LVARCHAR'        WHEN 45 THEN 'BOOLEAN'        WHEN 52 THEN 'BIGINT'        WHEN 53 THEN 'BIGSERIAL'        WHEN 2061 THEN'IDSSECURITYLABEL'        WHEN 4118 THEN'ROW (named)'        ELSE 'UNKNOWN'    END AS data_type
FROMsystables t
JOIN     syscolumns c ONt.tabid = c.tabid
WHEREt.tabtype = 'T'  AND t.tabid > 99
ORDER BYt.tabname,c.colno;

查询表,表注释,列,列注释

SELECTt.tabname AS table_name,b.comments AS table_comment,c.colname AS column_name,e.coltypename AS column_type_name,cc.comments AS column_comment
FROsystables t
JOINsyscolumns c ON t.tabid = c.tabid
LEFT JOINsyscomments b ON t.tabname = b.tabname AND t.tabtype = b.tabtype
LEFT JOINsyscolcomments cc ON t.tabname = cc.tabname AND c.colname = cc.colname
LEFT JOINsyscolumnsext e ON c.tabid = e.tabid AND c.colno = e.colno
WHEREt.tabtype = 'T'AND t.tabid > 99AND t.tabname IN ('flags_text')
ORDER BYt.tabname,c.colno;

外键参考所在表的名称

select t.tabname from sysconstraints c,systables t ,sysreferences r where c.tabid=t.tabid and c.constrid=r.constrid and c.constrtype='R' and r.ptabid=(select tabid from systables where tabname='act_re_procdef');
http://www.dtcms.com/a/524709.html

相关文章:

  • 第 02 天:虚拟化与 Linux 设置(重点:VirtualBox 实践)
  • 服务器实时流量监控工具推荐:确保服务器不被滥用
  • 深度学习------YOLOv5《第二篇》
  • Google Drive 超大文件下载到服务器
  • vscode中Java开发环境的配置
  • 【穿越Effective C++】条款5:了解C++默默编写并调用哪些函数——编译器自动生成的秘密
  • docker镜像从服务器Acopy到服务器B
  • 网站开发微信端小说网站如何建设
  • 网站建设黄页视频wordpress的标签设置主页
  • 学习java线程池ThreadPoolExecutor类使用介绍
  • 有关建设旅行网站的建设负责网站的建设规划
  • 学Java第三十七天-------常用API
  • 微信漫画网站模板wordpress 视频展示
  • 【NestJS】依赖注入:超越自动new的深层解析
  • 北京网站建设策划建设公司长春建站培训
  • Mac常用软件
  • 【Linux笔记】网络部分——基于Socket套接字实现最简单的HTTP协议服务器
  • Linux基础知识(三、Linux常见操作目录命令)
  • 类似凡科建站的平台手机网站仿站
  • 在网站文字上做笔记设计制作中国第一架飞机的人是
  • C++ 分治 快速选择算法 堆排序 TopK问题 力扣 215. 数组中的第K个最大元素 题解 每日一题
  • 永磁同步电机无速度算法--基于相位超前校正的LESO
  • 动态 静态 网站地图合肥庐阳区建设局网站
  • JavaEE开篇之计算机是如何工作的
  • 基于python机器学习的农产品价格数据分析与预测的可视化系统
  • 如何通过掌纹识别实现Windows工作站安全登录:从技术原理到企业级落地实践
  • 正则表达式全集
  • 中山手机网站制作哪家好网站管理员登陆后缀
  • K8s高可用:四大核心机制解析
  • 1024勋章发文活动