列出所有的数据库
需求描述
需求:查询给当前数据库实例下所有的数据库名和创建时间。
解决方法:通过各个数据库里提供的与数据库相关的数据字典进行查询。
注: 数据库数据集SQL脚本详见如下链接地址
SQL代码
-- Sql Server:
SELECT NAME AS Database_Name,create_date AS Create_time
FROM sys.databases
执行结果
Oracle:
Oracle里的数据库概念跟Sql Server略有不同,oracle里一个数据库对应多个实例,当然在Sql Server里也可以安装多个实例。不过一般不这么做。Oralce里的用户类似于Sql Server里的数据库,即一个用户下可能会有很多表。所以当前命题可以查询当前实例里的用户名。
注: 这里关于oracle的数据库、数据库实例、表空间、表、用户没有做过多的展开。简单的说一个数据库可以对应多个数据库实例,而一个数据库实例对应多个表空间,每个表空间对应多个用户和数据库文件。一个用户可以创建多个表。见下图示意:
-- oracle
select name from v$database;
select USERNAME,Created AS Create_time from dba_users;
注:
1 oralce数据库、实例、表空间、用户、表分析参考来源 http://blog.csdn.net/haiross/article/details/20357675
2 用户数据较多,这里用…省略。
-- Mysql:
show databases
-- 或
SELECT SCHEMA_NAME FROM information_schema.SCHEMATA