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一致

//其中111.php 是要在对象目录新生成的文件;‘<一句话>'是要写入文件的内容.

 

3. concat,group_concat, 连接字符串

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

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

mysql 代码读取表结构 mysql读取文件内容函数_字符串

 

select id, group_concat(price) from goods group by id;    

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

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

 

 

mysql 代码读取表结构 mysql读取文件内容函数_字符串_02

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

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

    

mysql 代码读取表结构 mysql读取文件内容函数_数据库_03

 

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

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

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

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

6.ASCII(),返回字符的ASCII码

      例如 ASCII(‘h’) 就会返回104; 当()内有多个字符时,会返回第一个字符的ascii码

mysql 代码读取表结构 mysql读取文件内容函数_php_04

 


 

 

          

 

 

 

 7.@@datadir,返回数据库路径;  @@version_compile_os, 返回操作系统版本  ; user(),返回当前用户名

mysql 代码读取表结构 mysql读取文件内容函数_php_05

mysql 代码读取表结构 mysql读取文件内容函数_php_06

mysql 代码读取表结构 mysql读取文件内容函数_数据库_07

 

 

8.database(),返回当前数据库名;  version(),返回当前数据库版本。

mysql 代码读取表结构 mysql读取文件内容函数_php_08

mysql 代码读取表结构 mysql读取文件内容函数_php_09