在MySQL中获取数据库名称而不使用SELECT DATABASE()

时间:2017-08-31 18:11:36

标签: mysql sql

我试图进行SQL注入攻击,(这是为了一项任务,所以我没有做任何违法的事情)我需要查看当前的数据库名称是什么。但是,输入限制为15个字符,当您考虑转义字符串并注释掉其余部分时,这个值为13。因为这个,SELECT DATABASE()太长了,所以有没有办法以13个字符或更少的字符返回数据库名称?

3 个答案:

答案 0 :(得分:2)

您可以使用SCHEMA(),因为它是DATABASE()的同义词。见https://dev.mysql.com/doc/refman/5.7/en/information-functions.html#function_schema

答案 1 :(得分:1)

使用STATUS。它为您提供了几个状态变量,包括您所连接的数据库的名称。

https://dev.mysql.com/doc/refman/5.7/en/show-status.html

答案 2 :(得分:1)

命令SHOW TABLES只有11个字符,结果集的标题显示当前数据库。

以下是一个例子:

mysql> use test;
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| ...            |
+----------------+