ホームページ > データベース > mysql チュートリアル > MySQL テーブルから 1 つを除くすべての列を効率的に取得するにはどうすればよいですか?

MySQL テーブルから 1 つを除くすべての列を効率的に取得するにはどうすればよいですか?

Barbara Streisand
リリース: 2025-01-04 17:49:40
オリジナル
545 人が閲覧しました

How to Efficiently Retrieve All Columns Except One from a MySQL Table?

MySQL テーブルから 1 つを除くすべての列を取得する

テーブルから特定の列を取得する必要がある状況が多く発生します。 MySQL は、強力な SELECT ステートメントを通じてデータを柔軟に取得できます。ただし、特定の列を除くすべての列が必要なシナリオも考えられます。目的の列を手動で指定する代わりに、より効率的なアプローチを採用できます。

動的 SQL と準備されたステートメントの組み合わせを利用して、指定された列を除外する SELECT クエリを動的に生成できます。方法は次のとおりです:

  1. 動的 SQL 文字列を構築します:

    SET @sql = CONCAT('SELECT ', (SELECT REPLACE(GROUP_CONCAT(COLUMN_NAME), '<columns_to_omit>,', '') FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '<table>' AND TABLE_SCHEMA = '<database>'), ' FROM <table>');
    ログイン後にコピー
  2. ステートメント:

    PREPARE stmt1 FROM @sql;
    ログイン後にコピー
  3. 準備されたものを実行しますステートメント:

    EXECUTE stmt1;
    ログイン後にコピー

置換: