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

多数据库学习之GBase8s查询数据库表元信息常用SQL

多数据库学习之GBase8s查询数据库表元信息常用SQL

  • 简介
  • 常用SQL
    • 创建用户
    • 创建数据库及模式
    • 获取表元数据
  • 其他
  • 参考链接

简介

  • 背景介绍

    GBase 8t是基于IBM informix源代码、编译和测试体系自主研发的交易型数据库产品。

    南大通用安全数据库管理系统(简称 GBase 8s),该产品符合 SQL92/99、ODBC、OLEDB、JDBC、ADO.NET 等国际 数据库规范和开发接口。

    8a是国内首个基于列存的新型分析型数据库,8a Cluster是国内首个分布式并行数据库集群,8t是国内首个与世界先进技术接轨的国产事务型通用数据库系统。

  • 数据库服务架构

    一个实例由多个数据库(Databases)组成,一个数据库可以有多个模式(Schema),经过验证理解模式(Schema)和用户(user)是一对一的概念。

    GBase8s数据库服务架构

    支持跨数据库查询表元数据信息,如果查询的表信息不在当前数据库(系统表systables),需要指定查sysmaster数据库下的相关系统表获取,如获取表名信息sysmaster:systables

常用SQL

创建用户

  • 注意

    需要在服务端连接数据库执行

    1. 切换到用户gbasedbt后使用onmode开启创建用户参数
    onmode -wf USERMAPPING=ADMIN
    1. 切换为root用户创建希望创建的数据库用户名并且设置密码
    [root@localhost ~]# groupadd  nbsp[root@localhost ~]# useradd -g nbsp -d /home/nbsp -s /bin/bash -m nbsp[root@localhost ~]# passwd nbsp
    1. 切换到gbasedbt使用管理员权限创建用户
    [gbasedbt@localhost ~]$ dbaccess - -Your evaluation license will expire on 2023-08-27 00:00:00# 创建用户并设置密码> create user nbsp with pass word "xxxx";
    1. 给用户赋权
    > grant dba to nbsp;Permission granted.> grant connect to nbsp;Permission granted.> grant resource to nbsp;Permission granted.> database nbsp;

创建数据库及模式

  • 创建数据库

    -- 创建数据库CREATE DATABASE dbtest;-- 语法CREATE DATABASE databasename [in dbspace] [with log|buffered log|log mode ansi] [nlscase sensitive|nlscase insensitive];
  • 创建表并赋予权限

    须先创建用户,否则无法指定表所属用户

    CREATE SCHEMA AUTHORIZATION gbasedbttestCREATE TABLE customer(customer_num SERIAL(101),fname        CHAR(15),lname        CHAR(15),company      CHAR(20),address1     CHAR(20),address2     CHAR(20),city         CHAR(15),state        CHAR(2),zipcode      CHAR(5),phone        CHAR(18))GRANT ALTER, ALL ON customer TO gbasedbttest WITH GRANT OPTION;
  • 修改表结构

    alter table "表名" add "列名" "数据类型" | modify "列名" "数据类型" | drop column "列名";
  • 创建存储过程

    --  创建存储过程create procedure insertdata()define i int;for i in (1 to 100)insert into test values(i,'GBase 8s');end for;end procedure;-- 执行存储过程execute procedure insertdata();

获取表元数据

  • 常用SQL汇总

    -- 查询数据库空间select * from sysmaster:sysdbspaces;-- 查询用户信息select * from sysusers;-- 查询数据库字符集select * from sysmaster:sysdbslocale;-- 查询所有数据库select name, is_logging, is_case_insens from sysmaster:sysdatabases;-- 查看实例名,数据库名,用户名select a.cf_original, DBINFO('dbname') dbname, user from sysmaster:sysconfig a where cf_name = 'dbtest';-- 查看所有数据库名select name from sysmaster:sysdatabases;-- 查看数据库中所有表名select dbsname, tabnamefrom sysmaster:systabnameswhere dbsname='dbtest';-- 查询用户自定义表名信息database sysadmin;select tabid, tabname, tabtype from systables where tabid >= 100 and tabtype = 'T';-- 查询表列信息select colname, coltype, coltypename from syscolumnsext where tabid = '100' order by colno;-- 查询视图select tabname,tabtype from systables where tabid >= 100 and tabtype = 'V';-- 查询表索引信息select tabid, idxname,tabid,idxtype from sysindexes where tabid = '100';-- 查询存储过程select procname, procid from sysprocedures where procname like '<key_word>%';-- 查询唯一索引select * from sysconstraints where constrtype = 'U';-- 查询主键信息select * from sysconstraints where constrtype = 'P';-- 查询外键信息select * from sysconstraints where constrtype = 'R';-- 查询外键明细信息SELECT fc.constrname fk_name,ft.tabname fk_tabname,fcol.colname fk_colname,pc.constrname pk_name,pt.tabname pt_tabname,pcol.colnameFROM sysreferences r, sysconstraints fc, sysconstraints pc, systables ft, systables pt, sysindexes fi, sysindexes pi, syscolumns fcol, syscolumns pcolWHERE fc.constrtype = 'R'AND fc.tabid = ft.tabidAND fc.constrid = r.constridAND r.ptabid = pt.tabidAND ft.tabid = fi.tabidAND pt.tabid = pi.tabidAND r.primary = pc.constridAND fc.idxname = fi.idxnameAND pc.idxname = pi.idxnameAND ft.tabid = fcol.tabidAND pt.tabid = pcol.tabidAND fi.part1 = fcol.colnoAND pi.part1 = pcol.colnoAND ft.tabname = 't12';-- 查询库下所有字段的主键信息select unique t.tabname, (select c.colname from syscolumns c where c.tabid = i.tabid and c.colno = i.part1) as pk_1, (select c.colname from syscolumns c where c.tabid = i.tabid and c.colno = i.part2) as pk_2, (select c.colname from syscolumns c where c.tabid = i.tabid and c.colno = i.part3) as pk_3, (select c.colname from syscolumns c where c.tabid = i.tabid and c.colno = i.part4) as pk_4, (select c.colname from syscolumns c where c.tabid = i.tabid and c.colno = i.part5) as pk_5, (select c.colname from syscolumns c where c.tabid = i.tabid and c.colno = i.part6) as pk_6from sysindexes i,systables twhere i.tabid = t.tabidand i.idxtype = "U"and i.idxname in (select c.idxnamefrom sysconstraints c,systables t, outer(sysreferences r, systables t2, sysconstraints c2)where t.tabid = c.tabidand r.constrid = c.constridand t2.tabid = r.ptabidand c2.constrid = r.constridand c.constrtype = "P");

其他

  • systables

    systables 系统目录表中记录的每个表都指定一个 tabid(一个系统指定的顺序号,它唯一地标识数据中的每个表)。系统目录表接收 2 位的 tabid 号,而用户创建的表接收以 100 开头的顺序 tabid 号

  • information_schema(信息模式视图)

    “信息模式”视图是在您作为 DBA 运行以下 DB-Access 命令时自动生成的:

    dbaccess database-name $GBASEDBTDIR/etc/xpg4_is.sql

    因此默认情况下,无法执行查询information_schema视图下的相关信息SQL

参考链接

  • GBase8s 创建用户

  • GBase 8s数据库常用操作指南

  • GBase 8s 存储过程

  • GBase 8s 元数据查询

  • GBase官网手册

  • informix数据库大全(持续更新)

  • Informix.Database

  • GBase 8s 学习笔记 001 —— GBase 8s 数据库产品介绍

相关文章:

多数据库学习之GBase8s查询数据库表元信息常用SQL

多数据库学习之GBase8s查询数据库表元信息常用SQL简介常用SQL创建用户创建数据库及模式获取表元数据其他参考链接简介 背景介绍 GBase 8t是基于IBM informix源代码、编译和测试体系自主研发的交易型数据库产品。 南大通用安全数据库管理系统&#xff08;简称 GBase 8s&#xff…...

Jetpack之Lifecycle应用与源码分析

Build lifecycle-aware components that can adjust behavior based on the current lifecycle state of an activity or fragment. 上面是源于官网的定义&#xff0c;简单翻译就是说Lifecycle的作用就是基于当前的Activity或者Fragment的生命周期当前状态构建可感知生命周期的…...

Python序列类型之集合

&#x1f490;&#x1f490;&#x1f490;欢迎来到小十一的博客&#xff01;&#xff01;&#xff01; &#x1f3af;博客主页&#xff1a;&#x1f3af;程序员小十一的博客 &#x1f680;博客专栏&#xff1a;&#x1f680;Python入门基础语法 &#x1f337;欢迎关注&#xff…...

java 自定义json解析注解 复杂json解析

java 自定义json解析注解 复杂json解析 工具类 目录java 自定义json解析注解 复杂json解析 工具类1.背景2、需求-各式各样的json一、一星难度json【json对象中不分层】二、二星难度json【json对象中出现层级】三、三星难度json【json对象中存在数组】四、四星难度json【json对象…...

Vue3配置路由(vue-router)

文章目录前言一、配置路由&#xff08;vue-router&#xff09;1、安装路由2、新建页面3、创建路由配置文件4.特殊报错&#xff01;前言 紧接上篇文章&#xff0c;vue3的配置与vue2是有所差别的&#xff0c;本文就讲述了如何配置&#xff0c;如果本文对你有所帮助请三连支持博主…...

【代码随想录二刷】Day9-字符串-C++

代码随想录二刷Day9 今日任务 28.找出字符串中第一个匹配项的下标 459.重复的子字符串 字符串总结 双指针总结 语言&#xff1a;C KMP 链接&#xff1a;https://programmercarl.com/0459.重复的子字符串.html#kmp 用处&#xff1a;当出现字符串不匹配时&#xff0c;可以利…...

google colab上如何下载bert相关模型

首先要知道模型的地址 tensorflow版本的模型&#xff1a; https://storage.googleapis.com/bert_models/2018_10_18/cased_L-12_H-768_A-12.zip https://storage.googleapis.com/bert_models/2018_11_03/chinese_L-12_H-768_A-12.zip pytorch版本的模型 ‘bert-base-cased’: …...

Vue2.0页面缓存机制联合页面标签的交互(keep-alive + router)

预期效果&#xff1a;&#xff08;借助iview-ui的在线体验页面示意一下&#xff09; 项目中只有一部分页面需要缓存&#xff0c;且存在多级路由的页面。每打开一个菜单&#xff0c;就会新增一个 Tab标签&#xff0c;只要 Tab标签不关闭&#xff0c;对应的页面就会被缓存&#x…...

C++STL剖析(四)—— stack和queue的概念和使用

文章目录1. stack的介绍2. stack的构造3. stack的使用&#x1f351; push&#x1f351; top&#x1f351; pop&#x1f351; empty&#x1f351; size&#x1f351; swap&#x1f351; emplace4. queue的介绍5. queue的构造6. queue的使用&#x1f351; push&#x1f351; size…...

流浪地球 | 建筑人是如何看待小破球里的黑科技的?

大家好&#xff0c;这里是建模助手。 想问问大家今年贺岁档&#xff0c;都跟上没有&#xff0c;今天请允许我蹭一下热点表达一下作为一个科幻迷的爱国之情。 抛开大刘的想象力、各种硬核科技&以及大国情怀不提&#xff0c;破球2中的传承还是让小编很受感动&#xff0c;无…...

软中断在bottom-half中调用

https://www.bilibili.com/read/cv20785285/简介软中断可以在两个位置得到机会执行&#xff1a;硬中断返回前 irq_exit中断下半部 Bottom-half Enable后情景分析情景1spin_unlock_bh__raw_spin_unlock_bh__local_bh_enable_ip 打开Bottom-half&#xff0c;并让softirq有机会…...

GEE遥感云大数据在林业中的应用

近年来遥感技术得到了突飞猛进的发展&#xff0c;航天、航空、临近空间等多遥感平台不断增加&#xff0c;数据的空间、时间、光谱分辨率不断提高&#xff0c;数据量猛增&#xff0c;遥感数据已经越来越具有大数据特征。遥感大数据的出现为相关研究提供了前所未有的机遇&#xf…...

Apollo架构篇 - 客户端架构

前言 本文基于 Apollo 1.8.0 版本展开分析。 客户端 使用 Apollo 支持 API 方式和 Spring 整合两种方式。 API 方式 API 方式是最简单、高效使用使用 Apollo 配置的方式&#xff0c;不依赖 Spring 框架即可使用。 获取命名空间的配置 // 1、获取默认的命名空间的配置 C…...

JVM调优最全面的成长 :参数详解+垃圾算法+示例展示+类文件到源码+面试问题

目录1.优秀的Java开发者1.1 什么是Java&#xff1f;1.2 编程语言1.3 计算机[硬件]能够懂的语言1.3.1 计算机发展史1.3.2 计算机体系结构1.3.3 计算机处理数据过程1.3.4 机器语言1.3.5 不同厂商的CPU1.3.6 操作系统1.3.7 汇编语言1.3.8 高级语言1.3.9 编译型和解释型1.3.9.1 编译…...

linux驱动常用函数

以下为一些常见用户态函数在内核中的替代&#xff0c;包括头文件和函数声明&#xff1a;1、动态申请内存&#xff1a;linux/vmalloc.hvoid *vmalloc(unsigned long size);void vfree(const void *addr);2、字符串操作&#xff1a;linux/string.hvoid * memset(void *,int,__ker…...

Flowable进阶学习(九)数据对象DataObject、租户Tenant、接收任务ReceiveTask

文章目录一、数据对象DataObject二、租户 Tenant三、接收任务 ReceiveTask案例一、数据对象DataObject DataObject可以⽤来定义⼀些流程的全局属性。 绘制流程图&#xff0c;并配置数据对象&#xff08;不需要选择任意节点&#xff09; 2. 编码与测试 /*** 部署流程*/ Test…...

C语言实现五子棋(n子棋)

五子棋的历史背景&#xff1a; 五子棋起源于中国&#xff0c;是全国智力运动会竞技项目之一&#xff0c;是一种两人对弈的纯策略型棋类游戏。双方分别使用黑白两色的棋子&#xff0c;下在棋盘直线与横线的交叉点上&#xff0c;先形成五子连珠者获胜。五子棋容易上手&#xff0c…...

OpenStack云平台搭建(2) | 安装Keystone

目录 1、登录数据库配置 2、数据库导入Keystone表 3、配置http服务 4、创建域、用户 5、创建脚本 Keystone&#xff08;OpenStack Identity Service&#xff09;是 OpenStack 框架中负责管理身份验证、服务访问规则和服务令牌功能的组件。下面我们进行Keystone的安装部署 1…...

基于javaFX的固定资产管理系统

1. 总体设计 本系统分为登录模块、资产管理模块、资产登记模块和信息展示模块共四个模块。 登录模块的主要功能是&#xff1a;管理员通过登录模块登录本系统&#xff1b; 资产管理模块的主要功能有&#xff1a;修改、删除系统中的固定资产&#xff1b; 在资产登记模块中&#…...

板子登录和挂载问题记录

ubuntu登录板子问题 ssh登录ssh 10.1.3.15&#xff0c;显示No route to host 则尝试在板子上ping 本机ip 试一下 挂载 本地机器vim /etc/export编辑此内容并保存 /exports_0209/tda4_build *(rw,no_root_squash,nohide,insecure,no_subtree_check,async)1.挂载nfs方法 mou…...

二、Linux文件 - Open函数讲解实战

目录 1.Open函数讲解 2.open函数实战 2.1 man 1 ls 查询Shell命令 2.2 man 2 open 查看系统调用函数 2.3项目实战 2.3.1O_RDWR和O_CREAT 2.3.2O_APPEND的用法 1.Open函数讲解 高频使用的Linux系统调用&#xff1a;open write read close Linux自带的工具&#xf…...

源码分析Spring解决循环依赖的过程

循环依赖是之前很爱问的一个面试题&#xff0c;最近不咋问了&#xff0c;但是梳理Spring解决循环依赖的源码&#xff0c;会让我们对Spring创建bean的流程有一个清晰的认识&#xff0c;有必要搞一搞。开始搞之前&#xff0c;先参考了这个老哥写的文章&#xff0c;对Spring处理循…...

LabVIEW中加载.NET 2.0,3.0和3.5程序集

LabVIEW中加载.NET 2.0,3.0和3.5程序集已使用.NETFramework 2.0,3.0或3.5创建了.NET程序集&#xff0c;但是当尝试在构造函数节点中加载这些程序集时&#xff0c;却收到LabVIEW消息显示: 所选文件不是.NET程序集&#xff0c;所属类型库或自动化可执行文件。所以想确认是否可以在…...

Fluent Python 笔记 第 2 章 序列构成的数组

2.1 内置类型序列概览 容器序列&#xff08;能存放不同类型的数据&#xff09;&#xff1a;(作者分的类) list、tuple 和 collections.deque扁平序列&#xff08;只能容纳一种类型&#xff09;&#xff1a; str、byes、bytearray、memoryview 和 array.array可变&#xff1a…...

句子扩充法

人&#xff0c;物&#xff0c;时&#xff0c;地&#xff0c;事 什么人和什么物在什么时间什么地点发生了什么事。 思维导图&#xff1a;以人为中心&#xff0c;人具有客观能动性。 例如&#xff1a;秋燕南飞。 扩展为&#xff1a; 盘旋在洞庭湖上方的大雁渐渐消失了。“它们都…...

Java并发编程概述

在学习并发编程之前&#xff0c;我们需要稍微回顾以下线程相关知识&#xff1a;线程基本概念程序&#xff1a;静态的代码&#xff0c;存储在硬盘中进程&#xff1a;运行中的程序&#xff0c;被加载在内存中&#xff0c;是操作系统分配内存的基本单位线程&#xff1a;是cpu执行的…...

Java常见数据结构的排序与遍历(包括数组,List,Map)

数组遍历与排序 数组定义 //定义 int a[] new int[5]int[] a new int[5];//带初始值定义 int b[] {1,2,3,4,5};赋值 //定义时赋值 int b[] {1,2,3,4,5};//引用赋值 a[6] 1 a[9] 9 //未赋值为空取值 //通过下表取值&#xff0c;从0开始 b[1] 1 b[2] 2遍历 Test p…...

数据结构|绪论

&#x1f525;Go for it!&#x1f525; &#x1f4dd;个人主页&#xff1a;按键难防 &#x1f4eb; 如果文章知识点有错误的地方&#xff0c;请指正&#xff01;和大家一起学习&#xff0c;一起进步&#x1f440; &#x1f4d6;系列专栏&#xff1a;数据结构与算法 &#x1f52…...

内网渗透(十二)之内网信息收集-内网端口扫描和发现

系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内网渗透(五)之基础知识-Active Directory活动目录介绍和使用 内网渗透(六)之基…...

RabbitMq相关面试题

文章目录消息队列有没有接触过&#xff1f; 简单介绍一下&#xff1f;消息中间件模式分类 &#xff1f;使用MQ有什么好处&#xff1f;MQ如何选型 &#xff1f;你们项目中用到过 MQ 吗&#xff1f;谈谈你对 MQ 的理解&#xff1f;MQ消费者消费消息的顺序一致性问题&#xff1f;R…...

做网站外包大学生/公众号营销

忘记过去,超越自己 ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2022-04-14 ❤️❤️ 本篇更新记录 2022-04-21 ❤️🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言📝🙏 此博客均由博主单独编写,不存在任何商业团队运营,如发现错误,请…...

清河网站建设电话/成人短期电脑培训班学费

InnovAntennas新品天线测试软件AnsysInnovAntennas已投资Ansys HFSS 2020 R2&#xff0c;这是一个完全基于3维网格的模拟软件包&#xff0c;可帮助完善和生产轻型Yagis的新型OWL和LFA Ultra Yagi。强度大&#xff0c;重量轻和低风载荷是现代业余无线电爱好者们对一款八木天线所…...

芜湖做网站/怎么在百度制作自己的网站

using System; using System.Collections.Generic; using System.Linq; using System.Text;namespace 回调函数Demo {/* 回调函数的作用&#xff0c;1.分装;2.异步;3.扩展具体方法。* 通过一个委托给出实现功能模块扫遵循的协议&#xff1a;参数和返回类型&#xff0c;而这个委…...

公安内网网站建设方案/京津冀协同发展

背景描述 由于想快速在服务器上部署一下spring boot的web应用&#xff0c;因此使用了java直接启动spring boot内置tomcat的方式来构建服务&#xff0c;实际上这也是spring boot的一个很大的亮点。 但是接着就遇到了一个很有意思的问题&#xff0c;在项目中使用了Thymeleaf作为模…...

jsp动态网站开发课程/seo优化网站教程

写在前面 在自己准备写一些简单的verilog教程之前&#xff0c;参考了许多资料----asic-world网站的verilog教程即是其一。这套教程写得极好&#xff0c;奈何没有中文&#xff0c;在下只好斗胆翻译过来&#xff08;加了自己的理解&#xff09;分享给大家。 这是网站原文&#xf…...

网站整体结构/深圳英文网站推广

AspAccess的程序在NTFS分区上常常出现这样那样的问题&#xff0c;这切都是安全权限惹的祸&#xff0c;所以要想正常调试一个网站还需要更详细的设置。1.安装IIS7右单击的桌面上的[计算机]》选择[管理]扩展[角色]展卷栏》单击[添加角色]》在[添加角色向导]对话框中选择[Web服务器…...