mysql 查询整个表所有字段 包含 特定字符串的语句
问题:我想查找 “商铺” 这个字符串 在整个数据库中的 哪个表 哪个字段中,该怎么写 sql 语句

解决方案 »

  1.   

    没法一句sql写出来 但是可以去mysql.columns表里面通过拼接出所有表的col的sql来查询  不过效率很低
    效率高点的就是打开gengral log  然后在程序端输入商铺  然后查询   去gengral log去这句sql好了
      

  2.   

    打开游标
    select * from `information_schema`.`TABLES`  a inner join information_schema.columns b
    on a.`TABLE_SCHEMA`=b.`TABLE_SCHEMA`
    循环取值,用SP完成
      

  3.   

    你可以通过程序或者存储过程实现。
    1) 从INFORMATION_SCHEMA.COLUMNS 表中得到所有的列名,你可以只取CHAR相关的字段名。
    2) 然后可以在字处理软件中对每一个记录生成一个SQL查询  select 1 from tableName where columnName like '%商铺%'。 
    执行这些查询语句这样可以得到在哪个表,哪个字段有这些信息。
      

  4.   

    查找INFOMATION_SCHEMA.COLUMNS表中所有的列名
    可以模糊查询其中的列select * from tb where columnname like '%商铺%';