查看mysql的数据库名称

说白了,查看MySQL数据库的名称只有三种方式:命令行、管理工具、SQL系统表。
这很简单。

最直接的方法就是先使用命令行。
去年我们跑merge项目的时候,半夜上线出现问题,SHOW DATABASE;只需在终端上输入两次,您就可以在几秒钟内看到完整的库名称,比翻阅文档快得多。
还有一点,如果是phpMyAdmin,登录后可以清楚地看到左上角导航栏上一堆库名称,但说实话还是挺混乱的。
管理员可能会在默认视图中隐藏某些敏感库。
还有另一个重要的细节。
使用 MySQL Workbench 时,请记住首先单击导航器中的“类别”。
很多人没有注意到这一点,认为类别混淆了。

一开始我以为直接检查mysql.db表就够了,但后来发现错了。
MySQL的系统表很早就设计好了,官方推荐使用information_schema.schemata。
去年跑一个跨数据库优化项目的时候,就因为这个差点被卡住了。
等等,还有一件事。
如果数据库太多,比如我们3 000级的电商项目,可以添加WHERE Schema_name LIKE 'yourPattern%';显示数据库之后;一定要滤镜,不然光看屏幕就会眼花缭乱。

您应该使用命令行来玩LIKE以获得最佳效果。
但如果团队熟悉 GUI,Workbench 的搜索功能也非常好,只是不要忘记先搜索 Catalogs。
您认为哪种管理工具最好?

mysql如何查询当前数据库名是否存在

说实话,使用SELECT来查找表名只是一条SQL命令,但实际操作起来却没有那么简单。
我们先来说说最重要的事情。
查看information_schema.tables是MySQL的全局表目录。
table_schema 指定的数据库名称必须用引号引起来。
当我们去年实施这个项目时,团队立即感到不安,因为他们认为所有表都属于其他数据库。
还有一点是SHOW TABLES更简单、更原始,但是它只能查询当前数据库,该数据库包含大约3 000张表。
SELECT 方法运行速度更快。
还有另一个重要的细节。
比如用LOAD DATA LOCAL INFILE导入文件时,文件路径不能含有空格,否则会报错,这就很尴尬了。

一开始我以为描述是最直接看表结构的方式,后来发现是错误的。
其实SHOW CREATE TABLE更全面,可以看到所有建表数据。
等等,还有一点,当你导入.sql文件时,不要忘记先使用目标库,否则会提示你找不到表。
我认为尝试 SELECT 方法很有用,尤其是在跨数据库搜索表时。
但是,您应该注意 SQL 语法的细节。