エイリアスの使い方/エイリアスとは?

エイリアスは、任意の名前で以下のようなコマンドを組み合わせて登録・実行することができる機能です。

  • SQL
  • PoorSQLコマンド
  • エイリアス

以下の例は、MySQLで「ls users」というエイリアスを実行しています。

12:00:00 sql> ls users
User     | Host
---------+----------
moriyama | %
root     | localhost
(2 rows)

Time: 0 ms

「ls users」というコマンドは、PoorSQLに標準で付属しているエイリアスです。
エイリアスは、PoorSQLによって解釈され SQL、PoorSQLコマンドまたは別のエイリアス(あるいはそれらの組み合わせ)として実行されます。
※エイリアスは、DBMS固有のテーブルやビューを使用する場合が多いため、それぞれのDBMSによって出力内容が異なります。
PoorSQLでは、DBMSごとに標準でいくつかのエイリアスが提供されています。

実際に実行されるSQLは、「\help エイリアス名」コマンドの出力で、DEFINEDのセクションで確認できます。
以下は「ls tables」というエイリアスのヘルプを参照しています。

12:00:00 sql> \help ls tables
DESCRIPTION:
List tables

USAGE:
LS TABLES [TableName]
    [TableName]: Table name

DEFINED:
SELECT  TABLE_SCHEMA AS "Database",  TABLE_NAME AS "Table",  TABLE_TYPE AS "Type",
ENGINE,  DATA_LENGTH,  MAX_DATA_LENGTH,  INDEX_LENGTH,  DATA_FREE FROM
information_schema.TABLES  WHERE  TABLE_TYPE like '%TABLE'    AND TABLE_NAME like
'&1' ORDER BY TABLE_SCHEMA, TABLE_NAME

上記SQL中に「'&1'」という出力がありますが、これはエイリアスに渡されたオプションの文字列で置換されます。
つまり、「ls tables test%」を実行した場合、以下のようなSQLが実行されます。

SELECT  TABLE_SCHEMA AS "Database",  TABLE_NAME AS "Table",  TABLE_TYPE AS "Type",
ENGINE,  DATA_LENGTH,  MAX_DATA_LENGTH,  INDEX_LENGTH,  DATA_FREE FROM
information_schema.TABLES  WHERE  TABLE_TYPE like '%TABLE'    AND TABLE_NAME like 
'test%' ORDER BY TABLE_SCHEMA, TABLE_NAME

「test%」を指定しない場合、PoorSQLによるエイリアスをサポートするための拡張機能によりAND句は無視されます。
この仕組みは、パラメータをとるエイリアスでご説明します。

エイリアスとは?
登録されているエイリアスの一覧
エイリアスの種類
エイリアスの登録の方法
パラメータをとるエイリアス
SQLファイルを保管するパス

トップ