用数据字典
select
from
dba_users;
查看数据库里面所有用户,前提是你是有dba权限的帐号,如sys,system
select
from
all_users;
查看你能管理的所有用户!
select
from
user_users;
查看当前用户信息
!
oracle对于数据库中的表信息,存储在系统表中。查询已创建好的表索引,可通过相应的sql语句到相应的表中进行快捷的查询:
1
根据表名,查询一张表的索引
select
from
user_indexes
where
table_name=upper('表名');
2
根据索引号,查询表索引字段
select
from
user_ind_columns
where
index_name=('索引名');
3根据索引名,查询创建索引的语句
select
dbms_metadataget_ddl('index','索引名',
['用户名'])
from
dual
;
--['用户名']可省,默认为登录用户
ps:dbms_metadataget_ddl还可以得到建表语句,如:
select
dbms_metadataget_ddl('table','表名',
['用户名'])
from
dual
;
//取单个表的建表语句,['用户名']可不输入,默认为登录用户
select
dbms_metadataget_ddl('table',utable_name)
from
user_tables
u;
//取用户下所有表的建表语句
当然,也可以用pl/sql
developer工具来查看相关的表的各种信息。
查询数据库中所有表名有两种方法:
1、select table_name from information_schematables where table_schema='当前数据库';
2、show tables;
其中,information_schema这张数据表保存了MySQL服务器所有数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。
再简单点,这台MySQL服务器上,到底有哪些数据库、各个数据库有哪些表,每张表的字段类型是什么,各个数据库要什么权限才能访问,等等信息都保存在information_schema表里面。
扩展资料:
Mysql的INFORMATION_SCHEMA数据库包含了一些表和视图,提供了访问数据库元数据的方式。
元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。
下面对一些重要的数据字典表做一些说明:
SCHEMATA表:提供了关于数据库的信息。
TABLES表:给出了关于数据库中的表的信息。
COLUMNS表:给出了表中的列信息。
STATISTICS表:给出了关于表索引的信息。
USER_PRIVILEGES表:给出了关于全程权限的信息。该信息源自mysqluser授权表。
SCHEMA_PRIVILEGES表:给出了关于方案(数据库)权限的信息。该信息来自mysqldb授权表。
TABLE_PRIVILEGES表:给出了关于表权限的信息。该信息源自mysqltables_priv授权表。
COLUMN_PRIVILEGES表:给出了关于列权限的信息。该信息源自mysqlcolumns_priv授权表。
CHARACTER_SETS表:提供了关于可用字符集的信息。
COLLATIONS表:提供了关于各字符集的对照信息。
COLLATION_CHARACTER_SET_APPLICABILITY表:指明了可用于校对的字符集。
TABLE_CONSTRAINTS表:描述了存在约束的表。
KEY_COLUMN_USAGE表:描述了具有约束的键列。
ROUTINES表:提供了关于存储子程序(存储程序和函数)的信息。此时,ROUTINES表不包含自定义函数(UDF)。
VIEWS表:给出了关于数据库中的视图的信息。
TRIGGERS表:提供了关于触发程序的信息。
1、打开Microsoft SQL Server 2012,选中需要查询所有表的数据库。
2、选中需要查询的表后,点击左上角的“新建查询”,如图。
3、点击“新建查询”后,会在右边d出一个编辑框,我们需要在这里编写sql语句,来查询该数据库下的所有表结构。
4、编写sql语句,点击“执行”,当然,这表语句我们可以根据实际情况,来改变条件只查询需要的表名。
5、这时,会在右下方出现最终的查询结果,name即该库下所有的表名。
通过数据库元数据表查找:
如果是SQLSERVER2005,通过INFORMATION_SCHEMATABLES查找(select from INFORMATION_SCHEMATABLES where TABLE_NAME='YOUR_TABLE_NAME'),在得到的数据行中应该有这个表对应数据库的名称。试一下吧。
如果是SQLSERVER2000,通过sysobjects表查找(用法和上面差不多)
1、首先新建一张最简单的数据库表,id自增长。
2、然后在表中插入重复值。
3、接着新建视图,首先要确定自己的删除规则是什么样的,删除编号id比较大的还是比较小的。
4、然后将视图select语句粘贴到删除语句后面,执行删除语句。
5、最后查看删除后结果,就完成了。
sqlserver中如果两个数据库都在同一个服务器实例上: 那就可以直接通过 select from 数据库名dbo表名其中dbo是默认的系统用户,可以省略,但是“小数点”不能省 select from 数据库名表名如果是其他用户就要改成对应的用户了。
以上就是关于怎么用sql语句查找所有数据库表的数据(查找数据库中所有的数据表)全部的内容,包括:怎么用sql语句查找所有数据库表的数据(查找数据库中所有的数据表)、如何查询数据库或者表中的索引、查询mysql数据库中所有表名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)