特定のフィールド列の値に基づいてデータベースとテーブルをクエリするにはどうすればよいですか?

WBOY
リリース: 2016-06-23 14:13:15
オリジナル
998 人が閲覧しました

MySQL SQL

mysql>=5 の場合、book_name という名前のフィールド列の値が eng-chi-dictionary であることがわかっている場合、このフィールドが存在するライブラリ名とテーブル名をクエリするにはどうすればよいでしょうか? SQL文とは何ですか?
ありがとうございます

ディスカッションに返信します (解決策)

select * from information_schema.columns where COLUMN_NAME='eng-chi-dictionary';

COLUMN_NAME は book_name である必要があります

book_name の値は eng-chi-dictionary, eng-chi-dictionary という book_name があることはわかりました。 schema_name table_name
eng-chi-dictionary はフィールド値です

select * from information_schema.columns where COLUMN_NAME='book_name';

select * from information_schema.columns where COLUMN_NAME='book_name';

これは確かに可能ですが、多くのライブラリとテーブルがある場合、COLUMN_NAME のテーブル内に多数の列が存在する可能性があるため、一度に配置することはできません。 is book_name


ここで、1 回限りの位置付けステートメントを探しています。


1 回限りのポジショニング ステートメントです。
それほど高いレベルではありませんが、絶対にそれがないとは言えません

しかし、phpmyadmin のような専門チームが「検索」機能を実装すると、これを完了するにはphpループも使用します。

そのようなステートメントは「真」ではないことがわかります
db_search.php ファイルを参照してください

「ワンタイム ポジショニング」の意味がわかりません。

多数のライブラリとテーブルがある場合、テーブル内に COLUMN_NAME が book_name である列が多数存在する可能性があるためです

ライブラリ名やテーブル名ではなく、返される列に注意してください。これは十分に明確ではありませんか?



私が言いたいのは、ライブラリ eng-chi-dictionary が存在するテーブルの下の book_name の値を見つけるだけということです。

select * from information_schema.columns where COLUMN_NAME='book_name';


これにより、book_name という名前の列がすべて検索されます。でも、英知辞典がどこにあるのかまだわかりません。

select * from information_schema.columns where COLUMN_NAME='book_name';
book_name フィールドを持つすべてのテーブルを取得できます

その中で:

TABLE_SCHEMA は関連ライブラリです
TABLE_NAME はテーブル名です
このクエリを走査する必要があります結果とテーブルごとの検索 book_name には eng-chi-dictionary が含まれていますか

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート