通过sql语句如何检测到数据库的名字-理会精神

来源:互联网 发布:淘宝卖家 延长收货 编辑:程序博客网 时间:2024/05/01 15:28

当然一句话就可以搞定

select database();

but the main idea  is the way of thinking. 


mysql> select length("ac");+--------------+| length("ac") |+--------------+|            2 |+--------------+1 row in setmysql> select length(database());+--------------------+| length(database()) |+--------------------+|                  6 |+--------------------+1 row in setmysql> select database();+------------+| database() |+------------+| aldapp     |+------------+1 row in setmysql> select ASCII('A');+------------+| ASCII('A') |+------------+|         65 |+------------+1 row in setmysql> Select ascii(substr(database(),2,1)) = 101;+-------------------------------------+| ascii(substr(database(),2,1)) = 101 |+-------------------------------------+|                                   0 |+-------------------------------------+1 row in setmysql> Select ascii(substr(database(),2,1))=69;+----------------------------------+| ascii(substr(database(),2,1))=69 |+----------------------------------+|                                0 |+----------------------------------+1 row in setmysql> Select (substr(database(),2,1));+--------------------------+| (substr(database(),2,1)) |+--------------------------+| l                        |+--------------------------+1 row in setmysql> Select ascii(substr(database(),2,1));+-------------------------------+| ascii(substr(database(),2,1)) |+-------------------------------+|                           108 |+-------------------------------+1 row in setmysql> select ASCII('a');+------------+| ASCII('a') |+------------+|         97 |+------------+1 row in setmysql> select ASCII('l');+------------+| ASCII('l') |+------------+|        108 |+------------+1 row in setmysql> 第二个为l,因为数据库名ald***


mysql> Select ascii(substr(database(),2,1))=108;
+-----------------------------------+
| ascii(substr(database(),2,1))=108 |
+-----------------------------------+
|                                 1 |
+-----------------------------------+

正确返回1



mysql> Select if((select database())='aldapp',1,2);
+--------------------------------------+
| if((select database())='aldapp',1,2) |
+--------------------------------------+
|                                    1 |
+--------------------------------------+
1 row in set

正确返回1



mysql> Select if((select database())='aldapp',1,2);
+--------------------------------------+
| if((select database())='aldapp',1,2) |
+--------------------------------------+
|                                    1 |
+--------------------------------------+
1 row in set


0 0