波多野结衣 蜜桃视频,国产在线精品露脸ponn,a v麻豆成人,AV在线免费小电影

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:52010
  • 待審:67
  • 小程序:12
  • 文章:1106242
  • 會員:784

使用大型數據庫時,您可能會發現自己需要在多個表和列中查找特定值。這可能是一項具有挑戰性的任務,尤其是當您不知道到底該去哪里查看時。幸運的是,有一些方法可以在 postgresql 和 mysql 中自動執行此搜索。

在 postgresql 中搜索數據

postgresql 允許高級過程語言功能,這在此類場景中非常有用。下面,我們將創建一個 pl/pgsql 塊,用于在 postgresql 數據庫中的所有表和列中搜索特定值。

分步指南:

    創建 pl/pgsql 塊:

以下 pl/pgsql 塊將在公共模式內所有類型為字符變化、文本或 uuid 的列中搜索值“dcea8891-b4e1-45f8-8cb9-c8a164cb98ff”。

   do $$ 
   declare
       rec record;
       search_text text := 'dcea8891-b4e1-45f8-8cb9-c8a164cb98ff';
       query text;
   begin
       for rec in 
           select table_schema, table_name, column_name 
           from information_schema.columns 
           where table_schema = 'public' and data_type in ('character varying', 'text', 'uuid') 
       loop
           query := 'select ''' || rec.table_schema || '.' || rec.table_name || '.' || rec.column_name || ''' as location, ' || 
                    rec.column_name || ' 
                    from ' || rec.table_schema || '.' || rec.table_name || ' 
                    where ' || rec.column_name || '::text = $1';

           execute query using search_text into rec;

           if rec is not null then
               raise notice 'found in %', rec.location;
           end if;
       end loop;
   end $$;

登錄后復制

    說明:

聲明變量:我們聲明變量來保存我們的搜索文本和動態查詢。

循環列: 我們循環遍歷公共模式中類型為字符變化、文本或 uuid 的每一列。

構造并執行查詢: 對于每一列,我們構造一個動態 sql 查詢來檢查該列是否包含搜索文本。

發出通知: 如果找到搜索文本,則會發出帶有該列位置的通知。

    運行區塊:

在 postgresql 查詢工具(例如 pgadmin、psql)中執行上述塊。這將打印出找到指定值的位置。

在 mysql 中搜索數據

mysql 不支持 pl/pgsql 風格的過程語言塊。但是,您可以通過手動生成并運行必要的查詢或使用 shell 腳本來實現類似的功能。

分步指南:

    生成搜索查詢:

以下 sql 查詢將生成一個查詢列表,用于在指定數據庫中的所有類型為 varchar、text 或 char 的列中搜索值“dcea8891-b4e1-45f8-8cb9-c8a164cb98ff”。

   select 
       concat('select ''', table_schema, '.', table_name, '.', column_name, 
              ''' as location, ', column_name, 
              ' from ', table_schema, '.', table_name, 
              ' where ', column_name, ' = ''', 'dcea8891-b4e1-45f8-8cb9-c8a164cb98ff', ''';') as search_query
   from 
       information_schema.columns
   where 
       table_schema = 'your_database_name' 
       and data_type in ('varchar', 'text', 'char');

登錄后復制

將 your_database_name 替換為您數據庫的實際名稱。

    手動運行生成的查詢:

復制上述查詢的輸出,它看起來像這樣:

   select 'your_database_name.table1.column1' as location, column1 
   from your_database_name.table1 
   where column1 = 'dcea8891-b4e1-45f8-8cb9-c8a164cb98ff';

   select 'your_database_name.table2.column2' as location, column2 
   from your_database_name.table2 
   where column2 = 'dcea8891-b4e1-45f8-8cb9-c8a164cb98ff';

登錄后復制

在 mysql 客戶端中手動執行每個查詢。

    使用 shell 腳本實現自動化:

如果您有權訪問類 unix shell,則可以使用 shell 腳本自動化該過程:

   #!/bin/bash

   SEARCH_TEXT='dcea8891-b4e1-45f8-8cb9-c8a164cb98ff'
   DATABASE='your_database_name'
   USERNAME='your_username'
   PASSWORD='your_password'

   # Generate the search queries
   QUERIES=$(mysql -u $USERNAME -p$PASSWORD -D $DATABASE -N -e "
     SELECT CONCAT('SELECT ''', table_schema, '.', table_name, '.', column_name, 
                   ''' AS location, ', column_name, 
                   ' FROM ', table_schema, '.', table_name, 
                   ' WHERE ', column_name, ' = ''', '$SEARCH_TEXT', ''';')
     FROM information_schema.columns
     WHERE table_schema = '$DATABASE' AND data_type IN ('varchar', 'text', 'char');")

   # Execute each query
   while read -r QUERY; do
     mysql -u $USERNAME -p$PASSWORD -D $DATABASE -e "$QUERY"
   done 



<p>將 your_username、your_password 和 your_database_name 替換為您的實際 mysql 用戶名、密碼和數據庫名稱。該腳本將生成必要的搜索查詢,然后執行每個查詢并打印結果。</p>

<h3>
  
  
  結論
</h3>

<p>無論您使用 postgresql 還是 mysql,您都可以通過利用 postgresql 中的過程語言塊或在 mysql 中生成和執行動態查詢,在數據庫中的所有表和列中高效搜索特定值。這些方法可以在管理大型數據集時為您節省大量時間和精力。</p>

<p>對于 postgresql,pl/pgsql 塊為自動搜索提供了強大的解決方案。對于 mysql,雖然過程語言塊不可用,但手動或通過 shell 腳本生成和運行動態查詢可以達到相同的結果。</p>

<p>通過利用這些技術,您可以簡化數據庫管理任務并快速找到所需的數據。</p>


          

            
        

登錄后復制

分享到:
標簽:MySQL postgresql 數據 查找 特定
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 52010

    網站

  • 12

    小程序

  • 1106242

    文章

  • 784

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定