SQL - 显示数据库:初学者指南

你好,有抱负的数据库爱好者们!今天,我们将踏上一段激动人心的旅程,探索SQL的世界,特别是如何显示或列出数据库。如果你之前从未编写过一行代码,也不用担心——我将作为你的友好向导,我们会一步一步地学习。那么,拿起一杯咖啡,让我们开始吧!

SQL - Show Databases

数据库是什么?

在我们跳到显示数据库之前,让我们快速了解一下数据库是什么。想象一个数字文件柜,你可以在这里存储、组织并检索信息。这就是数据库的本质!在计算机世界中,我们使用数据库来跟踪各种数据,从你最喜欢的在线购物网站的库存到你的社交媒体帖子。

为什么我们需要显示数据库?

你现在可能在想,“我们为什么需要显示数据库?”想象一下,你是一个管理城市中多个图书馆的图书管理员。拥有一份你管理的所有图书馆的列表难道不是很有帮助吗?在SQL中显示数据库对我们来说正是这样做的——它让我们能够概览我们有访问权限的所有数据库。

使用SQL列出数据库

在SQL中,有几种方法可以列出或显示数据库。让我们一一探索这些方法。

使用SHOW DATABASES语句

列出所有数据库最直接的方法是使用SHOW DATABASES语句。就像问SQL,“嘿,你能告诉我我们有哪些数据库吗?”

SHOW DATABASES;

当你运行这个命令时,SQL将返回你有访问权限的所有数据库的列表。它看起来可能像这样:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| my_first_database  |
+--------------------+

这个结果中的每一行都代表一个数据库。像'informatoin_schema'、'mysql'、'performance_schema'和'sys'这样的数据库是MySQL自带的系统数据库。你自行创建的数据库(例如这个例子中的'my_first_database')也会出现在这个列表中。

使用SHOW SCHEMAS语句

你知道吗,在SQL中'schema'是'database'的另一个词?这是真的!因此,我们也可以使用SHOW SCHEMAS语句,它和SHOW DATABASES做完全相同的事情。

SHOW SCHEMAS;

这将给你和SHOW DATABASES相同的结果。就像在餐厅点餐——无论你说“我能看看菜单吗?”还是“我能看看菜品列表吗?”,你都会得到同样的东西!

使用SELECT...FROM语句

对于那些喜欢稍微展示一下他们SQL技能的人来说,还有一种方法可以使用SELECT语句来列出数据库。这种方法涉及到查询INFORMATION_SCHEMA,这是一个存储关于其他所有数据库信息的数据库。

SELECT SCHEMA_NAME
FROM INFORMATION_SCHEMA.SCHEMATA;

这个查询表示,“请从INFORMATION_SCHEMA的SCHEMATA表中选择所有schema(数据库)的名称。”结果看起来和我们用SHOW DATABASES得到的结果类似,但是格式略有不同:

+--------------------+
| SCHEMA_NAME        |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| my_first_database  |
+--------------------+

使用EXEC sp_databases语句(SQL Server)

如果你使用的是Microsoft SQL Server而不是MySQL,你还有一个选项:EXEC sp_databases语句。这就像请求一个有用的机器人运行一个预先编写的程序来为你获取数据库列表。

EXEC sp_databases;

这将返回一个包含每个数据库额外信息的结果集:

+--------------------+--------------+-------------------+
| DATABASE_NAME      | DATABASE_SIZE| REMARKS           |
+--------------------+--------------+-------------------+
| master             | 6392         | NULL              |
| tempdb             | 16384        | NULL              |
| model              | 16384        | NULL              |
| msdb               | 15928        | NULL              |
| my_first_database  | 8192         | NULL              |
+--------------------+--------------+-------------------+

在这里,你不仅能看到数据库名称,还能看到它们的大小和备注(通常是NULL,除非你添加了自定义备注)。

方法比较

让我们将这些方法总结在一个方便的表格中:

方法 语法 数据库系统 易用性 额外信息
SHOW DATABASES SHOW DATABASES; MySQL, MariaDB 非常容易
SHOW SCHEMAS SHOW SCHEMAS; MySQL, MariaDB 非常容易
SELECT...FROM SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA; MySQL, MariaDB, PostgreSQL 中等 可自定义
EXEC sp_databases EXEC sp_databases; SQL Server 容易 显示大小和备注

结论

就这样,大家!我们已经探索了在SQL中显示或列出数据库的四种不同方法。无论你更喜欢SHOW DATABASES的简洁性、SELECT语句的灵活性,还是EXEC sp_databases提供的额外信息,你现在都有了从鸟瞰视角查看你的数据库景观的工具。

记住,能够列出你的数据库就像拥有你的数据世界的地图。这是在手中掌握的信息海洋中导航的第一步。在你继续你的SQL之旅时,你会发现你会经常使用这些命令,尤其是在你使用新系统或试图在复杂的数据库环境中找到方向时。

继续练习,保持好奇心,不要害怕尝试。在你意识到之前,你将像专业人士一样查询数据库!下次见,快乐编码!

Credits: Image by storyset