sql >> データベース >  >> RDS >> Mysql

MySQLの列名のワイルドカード

    いいえ、SQLはそのような選択を行うための構文を提供していません。

    できること MySQLに列名のリスト> まず、その情報からSQLクエリを生成します。

    SELECT column_name
    FROM information_schema.columns
    WHERE table_name = 'your_table'
        AND column_name LIKE 'word%'
    

    列名を選択しましょう。次に、Pythonで実行できます:

    "SELECT * FROM your_table WHERE " + ' '.join(['%s = 1' % name for name in columns])
    

    文字列の連結を使用する代わりに、SQLAlchemy を使用することをお勧めします。 代わりに、SQL生成を行います。

    ただし、列の数を制限するだけの場合は、このような動的クエリを実行する必要はまったくありません。データベースの大変な作業は、行を選択することです。 10列のうち5列、または10列すべてを送信してもほとんど違いはありません。

    その場合は、"SELECT * FROM ..."を使用してください。 Pythonを使用して、結果セットから列を選択します。



    1. MySQLクエリエラー-自動コイン追加

    2. 列と値の組み合わせに基づいて一意の行を取得するにはどうすればよいですか?

    3. オラクル。日付と時刻を出力する方法は?

    4. 値によるオブジェクトの比較。パート6:構造の同等性の実装