Mysql函数利用

1. loal_file(),读文件

  1.1  使用前提:文件位置在服务器上;  文件必须为绝对路径;  用户持有FILE权限;  文件容量小于max_allowd_packet(默认为16MB)

  1.2  语句: union select 1, load_file('/etc/passwd'),3 #     

           //时常一些防注入语句不允许单引号的出现,可以将路径转换为十六进制 

          //浏览器有时候返回数据会存在乱码问题,可使用hex()函数将字符串转换为十六进制

 

2. into outfile ,写文件

   前提与load_file一致

   语句: select '<一句话>' into outfile 'C:\phpStudy\PHPTutorial\WWW\111.php'    //其中111.php 是要在对象目录新生成的文件;‘<一句话>'是要写入文件的内容.

 

3. concat,group_concat, 连接字符串

    作用:可将多个数据显示在一行中

    语句1:select concat(user(),database(),version());     //可以将用户名、数据库名、版本号显示在一行

Mysql函数利用

 

    语句2:select id, group_concat(price) from goods group by id;    

        //使用group_conca需要跟group by 搭配

        //如果想去重,可以在()内的开头加上DISTINCT

 

 Mysql函数利用

4. length(’str‘),返回字符串长度, 中文一个字为2个单位,英文为1个   

       //例如select length(‘你好’);   返回 4  ,select length(‘hello’); 返回 5

    Mysql函数利用

 

 5.substring(str,n,[n]),截取字符串

       例如 substr('hello wordl',1,6)   会返回字符串hello    // 表示从第一个字符开始截取六位,因为空格也算一位,所以为hello 。

          //substr函数不是以0为第一位的

          //如果没有参数中的[n],那么会直接截取n之后的所有字符

6.

          

 

 

 

 

  

  

上一篇:Oracle连接多个字符串


下一篇:MySQL group_concat 长度限制