2

mysqlワークベンチ(SQLエディター)を使用しています。Mysqlクエリブラウザに存在していたように、各クエリの列のリストをコピーする必要があります。例えば

Select * From tb

id、title、keyno、.....のようなフィールドのリストが欲しいです。

4

3 に答える 3

2

指定されたテーブルに対して1つ以上の列を取得できるようにしたいということですか?

1番目の方法実行 しSHOW COLUMNS FROM your_table_name、必要に応じて、データ型がint、デフォルト値がnullなどの列のみを指定することで基本的なフィルタリングを追加します。例:SHOW COLUMNS FROM your_table_name WHERE type='mediumint(8)' ANDnull='yes'

2番目の方法 この方法は、すべてのdb列、テーブルなどのレコードを持つMySQLのINFORMATION_SCHEMA内部データベースに保持されている多くのテーブルやその他のプロパティを組み合わせることができるため、もう少し柔軟で強力です。以下のクエリをそのまま使用し、TABLE_NAMEをテーブルに設定しますの列を検索する

SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='your_table_name';

一致する列の数を特定のデータベースに制限するにAND TABLE_SCHEMA='your_db_name'は、クエリの最後に追加します

また、列名を複数の行ではなく単一の行にコンマ区切りのリストとして表示するには、次GROUP_CONCAT(COLUMN_NAME,',')の代わりに使用できます。COLUMN_NAME

于 2012-08-01T10:03:48.330 に答える
1

selectステートメントのすべての列を選択するには、SCHEMASメニューに移動し、列名を選択する[OK]テーブルを右クリックして、[クリップボードにコピー]>[すべてのステートメントを選択]を選択します。

ここに画像の説明を入力してください

于 2021-12-30T14:26:23.080 に答える
0

受け入れられる解決策は問題ありませんが、テーブルのフィールド名に制限されています。任意のクエリを処理するには、select句を標準化して、正規表現を使用して列エイリアスのみを削除できるようにします。select句を「要素ごとに1行」としてフォーマットすると、次のように Select 1 + 1 as Col1, 1 + 2 Col2 From Table なり Select 1 + 1 as Col1 , 1 + 2 Col2 From Table ます。「select要素ごとに1行」バージョンで単純な正規表現を使用して、"^.* "(引用符を除く)何も置き換えません。正規表現は、行の最後のスペースの前にあるすべてのものを検出するため、列エイリアスにスペースが含まれていないと想定します(したがって、スペースをアンダースコアに置き換えます)。または、「要素ごとに1行」が気に入らない場合は、常に「as」キーワードを使用して、正規表現が把握できるハンドルを指定します。

于 2014-10-15T13:44:27.813 に答える