📜  列出所有数据库的 SQL 查询

📅  最后修改于: 2022-05-13 01:54:22.107000             🧑  作者: Mango

列出所有数据库的 SQL 查询

SQL 语言是 DBMS 中的 DML。这用于操作数据库和保存在其中的记录。数据库是存储在任何计算机系统中的结构化信息或数据的集合。因此,要修改这些数据库或更新其中包含的任何数据,我们将使用 SQL 等 DML 语言。本主题将主要使用 MS SQL SERVER。

所以首先让我们创建一些我们将在本文中使用的数据库来使用 SQL 进行查询。

要在 SQL 中创建数据库,我们必须使用以下命令:

CREATE DATABASE database_name;

此命令在 SQL 服务器中创建给定名称的数据库,然后我们也可以通过 SQL 向该数据库添加表。我们还可以在这些表中添加元组或行,也可以根据需要使用 SQL 删除表或更新或修改它们。

要使用任何特定的数据库,我们应该在它们之间进行选择,我们可以如下所示:



USE database_name;

因此,让我们使用 SQL 向该数据库添加两个表。

为此,我们将使用以下给定的命令:

CREATE TABLE [database_name.]table_name (
   pk_column data_type PRIMARY KEY,
   column_1 data_type NOT NULL,
   column_2 data_type,
   ...,
   table_constraints
);

如果我们不提及数据库的名称,则选择默认的 USE 数据库来创建表。

下面是一些命令,它们显示了我们如何创建数据库,然后我们如何列出它们并对它们运行查询。

SQL 服务器上最初存在默认数据库,它们有两种类型:

1. 系统数据库:

The command to see system databases are :
SELECT name, database_id, create_date  
FROM sys.databases ;  

输出:

系统数据库主要有四种类型:



  1. 掌握
  2. 模型
  3. 数据库
  4. 数据库

除了上述数据库之外,服务器中还存在一些其他数据库。这些可以显示如下:

SELECT name FROM master.dbo.sysdatabases

输出:

2. 用户自定义数据库:

现在为了选择用户定义的数据库首先让我们在服务器中创建一些数据库。

我们将使用下面提到的命令将一些数据库添加到 SQL 服务器:

create database GFG;
create database GFG1;
create database GFG2;

输出:

这些是列出服务器中存在的用户定义数据库的查询(我们在上面已经完成了):

select name  
from sys.Databases
WHERE name NOT IN ('master', 'tempdb', 'model', 'msdb');  /* removing the name of sys db*/

输出:

因此,通过这种方式,我们可以选择并列出 SQL 服务器中所有用户定义和非用户定义的数据库。