首页 > 数据库 >mysql-oracle查询用户信息切换

mysql-oracle查询用户信息切换

时间:2023-07-07 19:12:06浏览次数:41  
标签:name time 用户 查询 user mysql oracle table select

mysql写法

select table_name, table_comment, create_time, update_time from information_schema.tables
where table_schema = (select database())
AND table_name NOT LIKE 'qrtz_%' AND table_name NOT LIKE 'gen_%'
AND table_name NOT IN (select table_name from gen_table)

 

oracle写法

SELECT c.TABLE_NAME,c.comments,
o.created,o.last_ddl_time FROM user_tab_comments c
LEFT JOIN ALL_OBJECTS o on c.TABLE_NAME=o.OBJECT_NAME
where table_name NOT LIKE 'QRTZ_%'
AND table_name NOT LIKE 'GEN_%'
AND table_name NOT IN ( SELECT table_name FROM gen_table )
and o.OBJECT_TYPE='TABLE' AND o.OWNER=(select username from user_users)

以下是orace的查询

一、查看当前用户信息:
1、查看当前用户拥有的角色权限信息:select * from role_sys_privs;
2、查看当前用户的详细信息:select * from user_users;
3、查看当前用户的角色信息:select * from user_role_privs;

总结:ORACLE中数据字典视图分为3大类,用前缀区别,分别为:USER,ALL 和 DBA,
许多数据字典视图包含相似的信息。

USER_*:有关用户所拥有的对象信息,即用户自己创建的对象信息。
ALL_*:有关用户可以访问的对象的信息,即用户自己创建的对象的信息加上其他用户创建的对象但该用户有权访问的信息。
DBA_*:有关整个数据库中对象的信息。

其他:
查看用户和默认表空间的关系。
select username,default_tablespace from dba_users;
1.查看表结构:desc表名
2.查看当前用户的表:
select table_name from user_tables;
3.查看所有用户的表名:
select table_name from all_tables;
4.查看所有表名(其中包括系统表)
select table_name from all_tables;
5.查看所有的表:
select * from tab/dba_tables/dba_objects/cat;

查询TEST用户下的所有表,及其创建时间
SELECT OBJECT_NAME ,CREATED FROM ALL_OBJECTS WHERE OBJECT_TYPE='TABLE' AND OWNER='TEST' ORDER BY CREATED DESC;


下面介绍Oracle查询用户表空间

◆Oracle查询用户表空间:select * from user_all_tables

◆Oracle查询所有函数和储存过程:select * from user_source

◆Oracle查询所有用户:select * from all_users.select * from dba_users

◆Oracle查看当前用户连接:select * from v$Session

◆Oracle查看当前用户权限:select * from session_privs

◆Oracle查看用户表空间使用情况:

select a.file_id "FileNo",a.tablespace_name

"Tablespace_name",

a.bytes "Bytes",a.bytes-sum(nvl(b.bytes,0)) "Used",

sum(nvl(b.bytes,0)) "Free",

sum(nvl(b.bytes,0))/a.bytes*100 "%free"

from dba_data_files a, dba_free_space b

where a.file_id = b .file_id(+)

group by a.tablespace_name ,

a.file_id,a.bytes order by a.tablespace_name;

1.查看所有用户:
select * from dba_user;

select * from all_users;

select * from user_users;

2.查看用户系统权限:
select * from dba_sys_privs;

select * from all_sys_privs;

select * from user_sys_privs;

3.查看用户对象权限:
select * from dba_tab_privs;

select * from all_tab_privs;

select * from user_tab_privs;

4.查看所有角色:
select * from dba_roles;

5.查看用户所拥有的角色:
select * from dba_role_privs;

select * from user_role_privs;

6.查看角色所拥有的权限:
select * from role_sys_privs;

select * from role_tab_privs;
7.查看所有系统权限
select * from system_privilege_map;

8.查看所有对象权限
select * from table_privilege_map;

以上是在Oracle中查看用户权限 ,


在DB2中为:


select * from syscat.dbauth
或者
get authorizations

查看sid
select * from v$instance

 

1、oracle 查询当前用户下的表名 + 表注释
select t.table_name tableName, f.comments comments
from user_tables t
inner join user_tab_comments f
on t.table_name = f.table_name
2、 oracle 查询某表的所有字段 + 字段注释 + 字段类型
SELECT t.TABLE_NAME tableName,
t.COLUMN_NAME columnName,
t.DATA_TYPE dataType,
a.COMMENTS
FROM USER_TAB_COLUMNS t
LEFT JOIN USER_COL_COMMENTS a
ON t.table_name = a.table_NAME
AND t.COLUMN_NAME = a.COLUMN_NAME
user_objects视图中created、last_ddl_time、timestamp字段含意
user_objects视图中created、last_ddl_time、timestamp字段含意
created:对象的创建时间
last_ddl_time:跟对象相关的(不一定是改变对象的结构,也可以是其他相关,如,如果此对象是表,则将该表的select权限赋给其他用户也会改变这个字段的值)最后ddl操作的执行时间
timestamp:对象自身结构发生改变的时间,比如删除字段、添加字段等

SQL> conn dasong/dasong
Connected.
SQL> create table t_obj_time
2 (
3 col1 varchar2(20),
4 col2 varchar2(20)
5 );

Table created.

SQL> col object_name for a20
SQL> alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';

Session altered.
--此时表刚创建,没有做关于表的任何操作,则created、last_ddl_time、timestamp的值是一样的
SQL> select object_name, created, last_ddl_time, timestamp from user_objects where object_name='T_OBJ_TIME';

OBJECT_NAME CREATED LAST_DDL_TIME TIMESTAMP
---------------------- ----------------------------- ----------------------------- -------------------
T_OBJ_TIME 2012-02-10 08:56:05 2012-02-10 08:56:05 2012-02-10:08:56:05

SQL> alter table t_obj_time add(col3 varchar2(30));

Table altered.
--给表新增一个字段后,则last_ddl_time、timestamp的值被更新,last_ddl_time、timestamp的值保持一致,但与created不再相同
SQL> select object_name, created, last_ddl_time, timestamp from user_objects where object_name='T_OBJ_TIME';

OBJECT_NAME CREATED LAST_DDL_TIME TIMESTAMP
---------------------- ------------------------------ ----------------------------- -------------------
T_OBJ_TIME 2012-02-10 08:56:05 2012-02-10 08:57:23 2012-02-10:08:57:23

SQL> grant select on t_obj_time to sys;

Grant succeeded.
--将表的select权限赋给sys用户后,LAST_DDL_TIME字段再一次被更新,此时三个字段的值各不相同
SQL> select object_name, created, last_ddl_time, timestamp from user_objects where object_name='T_OBJ_TIME';

OBJECT_NAME CREATED LAST_DDL_TIME TIMESTAMP
---------------------- ----------------------------- ------------------------------ -------------------
T_OBJ_TIME 2012-02-10 08:56:05 2012-02-10 08:57:49 2012-02-10:08:57:23

 

查询表的所有列及其属性:
select t.*,c.COMMENTS
from user_tab_columns t,user_col_comments c
where t.table_name = c.table_name and t.column_name = c.column_name and t.table_name = women;
查找表的主键:
select cu.*
from user_cons_columns cu, user_constraints au
where cu.constraint_name = au.constraint_name and au.constraint_type = 'P' and au.table_name = women;
查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询):
select * from user_constraints c where c.constraint_type = 'R' and c.table_name = women
查询外键约束的列名:
select * from user_cons_columns cl where cl.constraint_name = 外键名称;
查询引用表的键的列名:
select * from user_cons_columns cl where cl.constraint_name = 外键引用表的键名;

以下是mysql的用法

1. 获取所有表结构(TABLES)

SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA='数据库名'; TABLES表:提供了关于数据库中的表的信息(包括视图)。详细表述了某个表属于哪个schema,表类型,表引擎,创建时间等信息。各字段说明如下:

 

字段 含义
table_catalog 数据表登记目录
table_schema 数据表所属的数据库名
table_name 表名称
table_type 表类型[system view|base table]
engine 使用的数据库引擎[MyISAM|CSV|InnoDB]
version 版本,默认值10
row_format 行格式[Compact|Dynamic|Fixed]
table_rows 表里所存多少行数据
avg_row_length 平均行长度
data_length 数据长度
max_data_length 最大数据长度
index_length 索引长度
data_free 空间碎片
auto_increment 做自增主键的自动增量当前值
create_time 表的创建时间
update_time 表的更新时间
check_time 表的检查时间
table_collation 表的字符校验编码集
checksum 校验和
create_options 创建选项
table_comment 表的注释、备注
————————————————
版权声明:本文为CSDN博主「树上的疯子^」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xingxiupaioxue/article/details/106217092

标签:name,time,用户,查询,user,mysql,oracle,table,select
From: https://www.cnblogs.com/wplei/p/17535862.html

相关文章

  • MySQL存储过程带参和不带参数(转载)
    笔记:(1)存储过程的传入参数IN需求:编写存储过程,传入uid,返回该用户的unamedelimiter$$createproceduretesta(my_uidint)begindeclaremy_unamevarchar(32)default'';selectunameintomy_unamefromuserswhereuid=my_uid;selectmy_uname;end;$$delimiter......
  • 恢复oracle数据库DROP表误删除的数据 注意此时的表名称已经被重新命名,table_name和obj
    恢复oracle数据库DROP表误删除的数据注意此时的表名称已经被重新命名,table_name和object_name就是回收站中的存放表名。https://blog.csdn.net/qq_34253619/article/details/124434357数据恢复方法的原理是因为oracle数据库在删除表时会将删除信息存放于某虚拟“回收站”中而......
  • Debian 12安装配置Apache2.4 + PHP8.0 + MySQL5.7常见问题记录
    1.Apache2.4安装1.1浏览器访问提示502错误正常通过sudoaptinstallapache2安装,安装完成通过systemctlstatusapache2查看运行状态正常,但浏览器访问IP地址提示502错误解决:问题大概率出自服务器防火墙#查看防火墙规则列表sudoufwapplist#Web服务器相关条目#>WW......
  • EAS_WEB给f7通用查询设置过滤条件
    onCompanyChange:function(event,value){waf('#costDep').wafPromptStandard('option','filteritem',"parent.id='"+value.current.id+"'");waf('#payAccount').......
  • win系统删除oracle数据文件恢复---惜分飞
    联系:手机/微信(+8617813235971)QQ(107644445)标题:win系统删除oracle数据文件恢复作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]有客户联系我们,说win平台下的数据库,在由于空间紧张,在关闭数据库的情况下删除的两个数据文件,导致......
  • luffy 查询所有课程接口、课程详情接口、课程详情后台之所有章节接口
    目录1查询所有课程接口1.1视图类1.2序列化类1.3表模型2课程详情接口3课程详情后台之所有章节接口3.1视图类3.2序列化类4所有课程前台,课程详情前台4.1课程列表页4.2课程详情页面5视频托管1查询所有课程接口#查询所有课程接口 -带过滤:按分类过滤-带排序:价格,......
  • 麒麟V10安装好MySQL后报错Unit mysql.service could not be found
    导言:这个错误消息表示系统中找不到名为"mysql.service"的服务单元,通常意味着MySQL数据库服务器未正确安装或已卸载.。1.检查MySQL是否已正确安装:确认已经按照正确的方式安装了MySQL数据库服务器,可以参考MySQL官方文档或其他安装指南来确保正确安装。2.检查服务名称:确......
  • 如何实现pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on '
    解决“pymysql.err.OperationalError:(2003,"Can'tconnecttoMySQLserveron'10.1"错误的步骤概述当使用pymysql连接MySQL数据库时,有时会出现连接错误,其中一个常见的错误是pymysql.err.OperationalError:(2003,"Can'tconnecttoMySQLserveron'10.1'")......
  • 解决oracle zhs16gbk和MySQL utf8转换乱码的具体操作步骤
    解决OracleZHS16GBK和MySQLUTF8转换乱码问题作为一名经验丰富的开发者,我将向你解释如何解决OracleZHS16GBK和MySQLUTF8转换乱码问题。我们将按照以下步骤进行操作:步骤说明1导出数据2创建MySQL数据库3创建UTF8编码的表4导入数据接下来,我将详细解释......
  • MySQL之批量更新多条记录不同值
    之前文章:https://www.cnblogs.com/xingxia/p/mysql_basic.html mysql更新语句很简单,更新一条数据的某个字段,一般这样写:UPDATEmytableSETmyfield='value'WHEREother_field='other_value';1.如果更新同一字段为同一个值,mysql也很简单,修改下where即可:UPDATEmytableSE......