আমি একটি মাইএসকিউএল ডাটাবেসের সমস্ত টেবিল থেকে একটি প্রদত্ত স্ট্রিংয়ের সমস্ত ক্ষেত্রগুলিতে সন্ধান করতে চাই, সম্ভবত সিনট্যাক্স হিসাবে এটি ব্যবহার করব:
SELECT * FROM * WHERE * LIKE '%stuff%'
এরকম কিছু করা কি সম্ভব?
আমি একটি মাইএসকিউএল ডাটাবেসের সমস্ত টেবিল থেকে একটি প্রদত্ত স্ট্রিংয়ের সমস্ত ক্ষেত্রগুলিতে সন্ধান করতে চাই, সম্ভবত সিনট্যাক্স হিসাবে এটি ব্যবহার করব:
SELECT * FROM * WHERE * LIKE '%stuff%'
এরকম কিছু করা কি সম্ভব?
উত্তর:
আপনি information_schemaস্কিমাতে উঁকি দিতে পারেন । এটিতে সারণীতে থাকা সমস্ত সারণী এবং সমস্ত ক্ষেত্রের একটি তালিকা রয়েছে। তারপরে আপনি এই টেবিলটি থেকে যে তথ্য পেয়েছেন তা ব্যবহার করে আপনি ক্যোয়ারী চালাতে পারেন।
জড়িত সারণীগুলি হ'ল স্কেমটা, ট্যাবলেট এবং কলম্বস। বিদেশী কী রয়েছে যেমন আপনি স্কিমায় টেবিলগুলি কীভাবে তৈরি করা হয় ঠিক তা বানাতে পারেন।
information_schemaএকটি ডাটাবেস, একটি টেবিল নয়। কোন টেবিলের মধ্যে information_schemaকিছু অনুসন্ধান করা উচিত তা ভাল হবে!
আপনি SQLDumpডাটাবেসের একটি (এবং এর ডেটা) করতে পারেন তারপরে সেই ফাইলটি সন্ধান করুন।
mysqldump -Tযা একটি নির্দিষ্ট ডিরেক্টরিতে টেবিলের জন্য দুটি ফাইল তৈরি করে। আমি তখন grep <search> *দির, এবং যা ফিরে এসেছে তা হ'ল টেবিলের নাম.টিএসটিএসটি বা। এসকিএল ফাইল। Txt ফাইলটি টেবিলের জন্য ডেটা ধারণ করে (ট্যাবে সীমিত, এক্সেলের মধ্যে খোলার জন্য সিএসভির পুনরায় নামকরণ), এবং এসকিউএল এতে টেবিলের সংজ্ঞা ধারণ করে, আপনি এটি অনুমান করেছেন: এসকিউএল। এইভাবে আপনি সমস্ত কিছু অনুসন্ধান করছেন এবং আপনার ডেটা কোথায় রয়েছে তা সংকীর্ণ করা সহজ। যদিও এই পদ্ধতিটি নির্দিষ্ট পরিবেশে কাজ করা বেশ কঠিন হতে পারে। স্ট্যাক ওভারফ্লো এখানে খুব সহায়ক।
আপনি যদি পিএইচপিএমওয়াই অ্যাডমিন ইনস্টল করেন তবে এর 'অনুসন্ধান' বৈশিষ্ট্যটি ব্যবহার করুন।
আমি এটি 250 টেবিল / 10 জিবি ডাটাবেসগুলিতে (একটি দ্রুত সার্ভারে) ব্যবহার করেছি এবং প্রতিক্রিয়া সময়টি আশ্চর্যর চেয়ে কম কিছু নয়।
পিএইচপি ফাংশন:
function searchAllDB($search){
global $mysqli;
$out = "";
$sql = "show tables";
$rs = $mysqli->query($sql);
if($rs->num_rows > 0){
while($r = $rs->fetch_array()){
$table = $r[0];
$out .= $table.";";
$sql_search = "select * from ".$table." where ";
$sql_search_fields = Array();
$sql2 = "SHOW COLUMNS FROM ".$table;
$rs2 = $mysqli->query($sql2);
if($rs2->num_rows > 0){
while($r2 = $rs2->fetch_array()){
$column = $r2[0];
$sql_search_fields[] = $column." like('%".$search."%')";
}
$rs2->close();
}
$sql_search .= implode(" OR ", $sql_search_fields);
$rs3 = $mysqli->query($sql_search);
$out .= $rs3->num_rows."\n";
if($rs3->num_rows > 0){
$rs3->close();
}
}
$rs->close();
}
return $out;
}
$mysqli:$mysqli = new mysqli('localhost', 'root', 'hunter2', 'my_database');
$columসঙ্গে "`$colum`"যাতে ক্ষেত্র সংরক্ষিত শব্দ সমস্যা সৃষ্টি করবে না
আপনি এই প্রকল্পটি ব্যবহার করতে পারেন: http://code.google.com/p/anywhereindb
এটি সমস্ত টেবিলের সমস্ত ডেটা অনুসন্ধান করবে।
আপনি যদি stored proceduresপ্লেগের মতো এড়িয়ে চলেছেন, বা mysql_dumpঅনুমতিগুলির কারণে কোনও কিছু করতে অক্ষম হন বা অন্য বিভিন্ন কারণে দৌড়াদৌড়ি করছেন।
আমি এই জাতীয় তিন ধাপের পদ্ধতির পরামর্শ দেব:
1) যেখানে এই ক্যোয়ারী ফলাফল সেট হিসাবে কোয়েরিগুলি তৈরি করে।
# =================
# VAR/CHAR SEARCH
# =================
# BE ADVISED USE ANY OF THESE WITH CAUTION
# DON'T RUN ON YOUR PRODUCTION SERVER
# ** USE AN ALTERNATE BACKUP **
SELECT
CONCAT('SELECT * FROM ', A.TABLE_SCHEMA, '.', A.TABLE_NAME,
' WHERE ', A.COLUMN_NAME, ' LIKE \'%stuff%\';')
FROM INFORMATION_SCHEMA.COLUMNS A
WHERE
A.TABLE_SCHEMA != 'mysql'
AND A.TABLE_SCHEMA != 'innodb'
AND A.TABLE_SCHEMA != 'performance_schema'
AND A.TABLE_SCHEMA != 'information_schema'
AND
(
A.DATA_TYPE LIKE '%text%'
OR
A.DATA_TYPE LIKE '%char%'
)
;
।
# =================
# NUMBER SEARCH
# =================
# BE ADVISED USE WITH CAUTION
SELECT
CONCAT('SELECT * FROM ', A.TABLE_SCHEMA, '.', A.TABLE_NAME,
' WHERE ', A.COLUMN_NAME, ' IN (\'%1234567890%\');')
FROM INFORMATION_SCHEMA.COLUMNS A
WHERE
A.TABLE_SCHEMA != 'mysql'
AND A.TABLE_SCHEMA != 'innodb'
AND A.TABLE_SCHEMA != 'performance_schema'
AND A.TABLE_SCHEMA != 'information_schema'
AND A.DATA_TYPE IN ('bigint','int','smallint','tinyint','decimal','double')
;
।
# =================
# BLOB SEARCH
# =================
# BE ADVISED THIS IS CAN END HORRIFICALLY IF YOU DONT KNOW WHAT YOU ARE DOING
# YOU SHOULD KNOW IF YOU HAVE FULL TEXT INDEX ON OR NOT
# MISUSE AND YOU COULD CRASH A LARGE SERVER
SELECT
CONCAT('SELECT CONVERT(',A.COLUMN_NAME, ' USING utf8) FROM ', A.TABLE_SCHEMA, '.', A.TABLE_NAME,
' WHERE CONVERT(',A.COLUMN_NAME, ' USING utf8) IN (\'%someText%\');')
FROM INFORMATION_SCHEMA.COLUMNS A
WHERE
A.TABLE_SCHEMA != 'mysql'
AND A.TABLE_SCHEMA != 'innodb'
AND A.TABLE_SCHEMA != 'performance_schema'
AND A.TABLE_SCHEMA != 'information_schema'
AND A.DATA_TYPE LIKE '%blob%'
;
ফলাফলগুলি এর মতো দেখতে হবে:
2) আপনি ঠিক তারপর Right Clickএবং ব্যবহার করতে পারেনCopy Row (tab-separated)
3) ফলাফলগুলি একটি নতুন ক্যোয়ারী উইন্ডোতে আটকান এবং আপনার হৃদয়ের সামগ্রীতে চলে।
বিশদ: আমি সিস্টেম স্কিমাগুলি বাদ দিচ্ছি যে বিকল্পটি Show Metadata and Internal Schemasপরীক্ষা না করা থাকলে আপনি সাধারণত আপনার ওয়ার্কবেঞ্চে দেখতে পাবেন না ।
একটি দ্রুত উপায় প্রদান করার জন্য আমি এটি করেছি ANALYZEপ্রয়োজনের OPTIMIZEভিত্তিতে পুরো HOST বা DB এর বা পারফরম্যান্সের উন্নতিগুলি সমর্থন করার জন্য বিবৃতি চালানোর জন্য আমি এটি করেছি।
আমি নিশ্চিত যে এটি করতে বিভিন্ন ধরণের উপায় থাকতে পারে তবে আমার পক্ষে কাজ করে তা এখানে রয়েছে:
-- ========================================== DYNAMICALLY FIND TABLES AND CREATE A LIST OF QUERIES IN THE RESULTS TO ANALYZE THEM
SELECT CONCAT('ANALYZE TABLE ', TABLE_SCHEMA, '.', TABLE_NAME, ';') FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'dbname';
-- ========================================== DYNAMICALLY FIND TABLES AND CREATE A LIST OF QUERIES IN THE RESULTS TO OPTIMIZE THEM
SELECT CONCAT('OPTIMIZE TABLE ', TABLE_SCHEMA, '.', TABLE_NAME, ';') FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'dbname';
মাইএসকিউএল সংস্করণে পরীক্ষিত: 5.6.23
সতর্কতা: এটি চালাবেন না যদি:
- আপনি টেবিল-লক তৈরির সাথে উদ্বিগ্ন (আপনার ক্লায়েন্ট-সংযোগগুলিতে নজর রাখুন)
আপনি কী করছেন সে সম্পর্কে আপনি অনিশ্চিত।
আপনি ডিবিএকে রাগ করার চেষ্টা করছেন। ( দ্রুততার সাথে আপনার ডেস্কে লোক থাকতে পারে ))
চিয়ার্স, জে; -]
আমি কিছু ওয়ার্ডপ্রেস কনফিগারেশন অনুসন্ধান করার জন্য আমার নিজের মাইএসকিএল ক্রলারটিও করেছি, এটি ইন্টারফেস এবং ডাটাবেস উভয় ক্ষেত্রেই খুঁজে পেতে অক্ষম ছিল এবং ডাটাবেস ডাম্পগুলি খুব ভারী এবং অপঠনযোগ্য ছিল। আমি অবশ্যই বলব আমি এখন এটি ছাড়া করতে পারি না।
এটি @ অলিভিয়ারের মতো কাজ করে তবে এটি বহিরাগত ডাটাবেস / সারণীর নাম পরিচালনা করে এবং লাইক-জোকার নিরাপদ safe
<?php
$database = 'database';
$criteria = '*iemblo'; // you can use * and ? as jokers
$dbh = new PDO("mysql:host=127.0.0.1;dbname={$database};charset=utf8", 'root', '');
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$tables = $dbh->query("SHOW TABLES");
while (($table = $tables->fetch(PDO::FETCH_NUM)) !== false)
{
$fields = $dbh->prepare("SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ?");
$fields->execute(array ($database, $table[0]));
$ors = array ();
while (($field = $fields->fetch(PDO::FETCH_NUM)) !== false)
{
$ors[] = str_replace("`", "``", $field[0]) . " LIKE REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(:search, '\\\\', '\\\\\\\\'), '%', '\\%'), '_', '\\_'), '*', '%'), '?', '_')";
}
$request = 'SELECT * FROM ';
$request .= str_replace("`", "``", $table[0]);
$request .= ' WHERE ';
$request .= implode(' OR ', $ors);
$rows = $dbh->prepare($request);
$rows->execute(array ('search' => $criteria));
$count = $rows->rowCount();
if ($count == 0)
{
continue;
}
$str = "Table '{$table[0]}' contains {$count} rows matching '{$criteria}'.";
echo str_repeat('-', strlen($str)), PHP_EOL;
echo $str, PHP_EOL;
echo str_repeat('-', strlen($str)), PHP_EOL;
$counter = 1;
while (($row = $rows->fetch(PDO::FETCH_ASSOC)) !== false)
{
$col = 0;
$title = "Row #{$counter}:";
echo $title;
foreach ($row as $column => $value)
{
echo
(($col++ > 0) ? str_repeat(' ', strlen($title) + 1) : ' '),
$column, ': ',
trim(preg_replace('!\s+!', ' ', str_replace(array ("\r", "\t", "\n"), array ("", "", " "), $value))),
PHP_EOL;
}
echo PHP_EOL;
$counter++;
}
}
এই স্ক্রিপ্টটি চালানোর ফলে এমন কিছু আউটপুট হতে পারে:
---------------------------------------------------
Table 'customers' contains 1 rows matching '*iemblo'.
---------------------------------------------------
Row #1: email_client: my@email.com
numero_client_compta: C05135
nom_client: Tiemblo
adresse_facturation_1: 151, My Street
adresse_facturation_2:
ville_facturation: Nantes
code_postal_facturation: 44300
pays_facturation: FR
numero_tva_client:
zone_geographique: UE
prenom_client: Alain
commentaires:
nom_societe:
email_facturation: my@email.com
সমস্ত কলাম এবং টেবিল পুনরুদ্ধার করার জন্য এটি সহজতম ক্যোয়ারী
SELECT * FROM information_schema.`COLUMNS` C WHERE TABLE_SCHEMA = 'YOUR_DATABASE'
নামযুক্ত নির্দিষ্ট স্ট্রিংযুক্ত সমস্ত টেবিল পিএইচপিএমআইএডমিনে অনুসন্ধান ট্যাবের মাধ্যমে অনুসন্ধান করা যেতে পারে।
সুন্দর জিজ্ঞাসা করুন ... \ ^। ^ /
মাইএসকিউএল ওয়ার্কবেঞ্চ ব্যবহার করে বেশ কয়েকটি টেবিল নির্বাচন করা সহজ এবং ডিবি এর সমস্ত টেবিলের পাঠ্যের জন্য অনুসন্ধান চালানো সহজ ;-)
এই জন্য আমার সমাধান এখানে
DROP PROCEDURE IF EXISTS findAll;
CREATE PROCEDURE `findAll`( IN `tableName` VARCHAR( 28 ) , IN `search` TEXT )
BEGIN
DECLARE finished INT DEFAULT FALSE ;
DECLARE columnName VARCHAR ( 28 ) ;
DECLARE stmtFields TEXT ;
DECLARE columnNames CURSOR FOR
SELECT DISTINCT `COLUMN_NAME` FROM `information_schema`.`COLUMNS`
WHERE `TABLE_NAME` = tableName ORDER BY `ORDINAL_POSITION` ;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET finished = TRUE;
SET stmtFields = '' ;
OPEN columnNames ;
readColumns: LOOP
FETCH columnNames INTO columnName ;
IF finished THEN
LEAVE readColumns ;
END IF;
SET stmtFields = CONCAT(
stmtFields , IF ( LENGTH( stmtFields ) > 0 , ' OR' , '' ) ,
' `', tableName ,'`.`' , columnName , '` REGEXP "' , search , '"'
) ;
END LOOP;
SET @stmtQuery := CONCAT ( 'SELECT * FROM `' , tableName , '` WHERE ' , stmtFields ) ;
PREPARE stmt FROM @stmtQuery ;
EXECUTE stmt ;
CLOSE columnNames ;
END;
CALL findAll('tbl_test','abb'), তখন আমি এই ত্রুটিটি মিস করি: # 1267 - অবৈধ মিশ্রণ (utf8_general_ci, IMPLICIT) এবং (utf8_unicode_ci, IMPLICIT) অপারেশনের জন্য '=' আপনি কি এটি ঠিক করতে পারবেন? ধন্যবাদ!
আমি হেইডিএসকিউএল ব্যবহার করছি জনপ্রিয় মাইএসকিউএল সার্ভার ব্যবহার করে ওয়েব বিকাশকারীদের জন্য ডিজাইন করা একটি দরকারী এবং নির্ভরযোগ্য সরঞ্জাম tool
হেইডিএসকিউএলে আপনি শিফট + সিটিআরএল + এফ চাপতে পারেন এবং আপনি সমস্ত সারণীতে সার্ভারে টেক্সট পেতে পারেন। এই বিকল্পটি খুব কার্যকরভাবে।
আপনি ব্যবহার করতে পারেন
SHOW TABLES;
তারপরে সেই টেবিলগুলিতে (একটি লুপে) কলামগুলি পান
SHOW COLUMNS FROM table;
এবং তারপরে সেই তথ্যের সাহায্যে অনেকগুলি ক্যোয়ারী তৈরি করুন যা আপনার প্রয়োজনে আপনি ইউনিয়নও করতে পারেন।
এটি ডাটাবেসে অত্যন্ত ভারী। বিশেষত যদি আপনি একটি পছন্দ অনুসন্ধান করেন।
SHOW TABLES FROM <db_name>আরও সুনির্দিষ্ট
এই সমাধান
ক) কেবলমাত্র মাইএসকিউএল, অন্য কোনও ভাষার প্রয়োজন নেই, এবং
খ) এসকিউএল ফলাফলগুলি প্রদান করে, প্রক্রিয়াকরণের জন্য প্রস্তুত!
#Search multiple database tables and/or columns
#Version 0.1 - JK 2014-01
#USAGE: 1. set the search term @search, 2. set the scope by adapting the WHERE clause of the `information_schema`.`columns` query
#NOTE: This is a usage example and might be advanced by setting the scope through a variable, putting it all in a function, and so on...
#define the search term here (using rules for the LIKE command, e.g % as a wildcard)
SET @search = '%needle%';
#settings
SET SESSION group_concat_max_len := @@max_allowed_packet;
#ini variable
SET @sql = NULL;
#query for prepared statement
SELECT
GROUP_CONCAT("SELECT '",`TABLE_NAME`,"' AS `table`, '",`COLUMN_NAME`,"' AS `column`, `",`COLUMN_NAME`,"` AS `value` FROM `",TABLE_NAME,"` WHERE `",COLUMN_NAME,"` LIKE '",@search,"'" SEPARATOR "\nUNION\n") AS col
INTO @sql
FROM `information_schema`.`columns`
WHERE TABLE_NAME IN
(
SELECT TABLE_NAME FROM `information_schema`.`columns`
WHERE
TABLE_SCHEMA IN ("my_database")
&& TABLE_NAME IN ("my_table1", "my_table2") || TABLE_NAME LIKE "my_prefix_%"
);
#prepare and execute the statement
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
#1243 - Unknown prepared statement handler (stmt) given to EXECUTEপুরো ডাটাবেসে অনুসন্ধানের জন্য Phpmyadmin- এ আপনার ক্যোয়ারী চালাতে গিয়ে আমি ত্রুটি পাচ্ছি
আমি অলিভিয়ের পিএইচপি উত্তরটি কিছুটা সংশোধন করেছি:
ফলাফলের মোট সংখ্যা দেখান
function searchAllDB($search){
global $mysqli;
$out = "";
$total = 0;
$sql = "SHOW TABLES";
$rs = $mysqli->query($sql);
if($rs->num_rows > 0){
while($r = $rs->fetch_array()){
$table = $r[0];
$sql_search = "select * from ".$table." where ";
$sql_search_fields = Array();
$sql2 = "SHOW COLUMNS FROM ".$table;
$rs2 = $mysqli->query($sql2);
if($rs2->num_rows > 0){
while($r2 = $rs2->fetch_array()){
$colum = $r2[0];
$sql_search_fields[] = $colum." like('%".$search."%')";
if(strpos($colum,$search))
{
echo "FIELD NAME: ".$colum."\n";
}
}
$rs2->close();
}
$sql_search .= implode(" OR ", $sql_search_fields);
$rs3 = $mysqli->query($sql_search);
if($rs3 && $rs3->num_rows > 0)
{
$out .= $table.": ".$rs3->num_rows."\n";
if($rs3->num_rows > 0){
$total += $rs3->num_rows;
$out.= print_r($rs3->fetch_all(),1);
$rs3->close();
}
}
}
$out .= "\n\nTotal results:".$total;
$rs->close();
}
return $out;
}আমি পূর্ববর্তী উত্তরে তৈরি করেছি এবং এটিতে রয়েছে, সমস্ত আউটপুটটিতে সুবিধামত যোগ দিতে কিছু অতিরিক্ত প্যাডিং:
SELECT
CONCAT('SELECT ''',A.TABLE_NAME, '-' ,A.COLUMN_NAME,''' FROM ', A.TABLE_SCHEMA, '.', A.TABLE_NAME,
' WHERE ', A.COLUMN_NAME, ' LIKE \'%Value%\' UNION')
FROM INFORMATION_SCHEMA.COLUMNS A
WHERE
A.TABLE_SCHEMA != 'mysql'
AND A.TABLE_SCHEMA != 'innodb'
AND A.TABLE_SCHEMA != 'performance_schema'
AND A.TABLE_SCHEMA != 'information_schema'
UNION SELECT 'SELECT '''
-- for exact match use: A.COLUMN_NAME, ' LIKE \'Value\' instead
প্রথমে আপনি এটি চালান, তারপরে পেস্ট করুন এবং ফলাফলটি চালান (কোনও সম্পাদনা নেই) এবং এটি সমস্ত টেবিলের নাম এবং কলামগুলি প্রদর্শিত হবে যেখানে মানটি ব্যবহৃত হয়।
WHERE NOT A.TABLE_SCHEMA IN ('mysql', 'innodb', 'performance_schema', 'information_schema')বা আরও ভাল, এটি কার্যকর করতে পারেন, ব্যবহৃত স্কিমা চেক করতে পারেন এবং অন্যটি বাদ দিয়ে ব্যবহৃত স্কিমা সেট করতে পারেন।
আমি এই কাজ পেয়েছিলাম। আপনার কেবল পরিবর্তনশীল পরিবর্তন করতে হবে to
$query ="SELECT `column_name` FROM `information_schema`.`columns` WHERE `table_schema`='" . $_SESSION['db'] . "' AND `table_name`='" . $table . "' ";
$stmt = $dbh->prepare($query);
$stmt->execute();
$columns = $stmt->fetchAll(PDO::FETCH_ASSOC);
$query="SELECT name FROM `" . $database . "`.`" . $table . "` WHERE ( ";
foreach ( $columns as $column ) {
$query .=" CONVERT( `" . $column['column_name'] . "` USING utf8 ) LIKE '%" . $search . "%' OR ";
}
$query = substr($query, 0, -3);
$query .= ")";
echo $query . "<br>";
$stmt=$dbh->prepare($query);
$stmt->execute();
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo "<pre>";
print_r ($results );
echo "</pre>";
আমি হেইডিএসকিউএল ব্যবহার করে এটি করেছি। এটি সন্ধান করা সহজ নয় তবে Ctrl + Shift + F টিপে এটি "সারণী সরঞ্জাম" সংলাপটি প্রদর্শন করে। তারপরে আপনি যা অনুসন্ধান করতে চান তা নির্বাচন করুন (একক টেবিলের সম্পূর্ণ ডাটাবেস) এবং "সন্ধানের জন্য পাঠ্য" মানটি প্রবেশ করুন এবং "সন্ধান করুন" এ ক্লিক করুন। আমি এটি আশ্চর্যজনকভাবে দ্রুত পেয়েছি (এক মিনিটেরও কম সময়ে 870MiB ডিবি)
আমি ইউনিয়নকে একসাথে জিজ্ঞাসার স্ট্রিংয়ে ব্যবহার করেছি। এটি সবচেয়ে দক্ষ উপায় কিনা তা জানেন না তবে এটি কার্যকর।
SELECT * FROM table1 WHERE name LIKE '%Bob%' Union
SELCET * FROM table2 WHERE name LIKE '%Bob%';
সমস্ত টেবিল পড়ার জন্য একটি দুর্দান্ত গ্রন্থাগার রয়েছে, রেডোনা
$database = new ridona\Database('mysql:dbname=database_name;host=127.0.0.1', 'db_user','db_pass');
foreach ($database->tables()->by_entire() as $row) {
....do
}
এই যদি শুধুমাত্র সাম্প্রতিক সংস্করণে আমি জানি না, কিন্তু উপর রাইট ক্লিক Tablesবিকল্প Navigatorপেন নামক একটি বিকল্প পপ আপ Search Table Data। এটি একটি অনুসন্ধান বাক্স খুলবে যেখানে আপনি অনুসন্ধানের স্ট্রিংটি পূরণ করুন এবং অনুসন্ধানে হিট করুন।
বাম ফলকে আপনি যে সারণীটি সন্ধান করতে চান তা নির্বাচন করতে হবে। তবে আপনি যদি শিফটটি ধরে রাখেন এবং একবারে 10 টি টেবিলের মতো নির্বাচন করেন, মাইএসকিউএল এটি পরিচালনা করতে পারে এবং সেকেন্ডে ফলাফলগুলি ফিরিয়ে আনতে পারে।
যে কেউ আরও ভাল বিকল্প খুঁজছেন জন্য! :)