データベーステーブルの操作
特定のテーブルの識別に必要なのは、その名前とデータベースの接続情報だけです。
set memberTable to table "Members" of myDB
これにより、変数memberTableがTableオブジェクトになるように設定され、本オブジェクトを使用してデータベースのMembersテーブルに含まれる情報にアクセスできるようになります。テーブルコンテンツはデータベースからまだフェッチされておらず、memberTableには単にテーブルとその列に関する情報のみが保持されます。
テーブルコンテンツの読み取り
データベーステーブルのコンテンツのフェッチは、そのレコードをすべて要求するのと同じくらい簡単に行えます。
put the records of memberTable into members
これにより、変数membersがレコードのリストになるよう設定され、テーブル内の行ごとにリストが1つ割り当てられます。リスト内の各アイテムは、レコードオブジェクト(テーブル内のその行の値と、テーブル内の各列のプロパティを含むプロパティリスト)となります。
データベーステーブルは、大量のレコードを含む場合があります(数千、数十万、またはそれ以上)。このため、目的のレコードを適切に要求できるようにすることがしばしば役に立ちます。これはwhere句によって達成され、必要なレコードのリクエストがデータベースに送信されます。これにより、ネットワークトラフィックとローカルメモリの使用の両方が抑制されます。
get the records of memberTable where lastName is "Smith"
これにより、lastName列が「Smith」と等しいレコードのデータのみがフェッチされます。where句には、レコードを選択するための様々な基準を組み込むことができます。「Smith」以外の「S」で始まるメンバー名のすべてのレコードをフェッチするには、そのリクエストは以下のようになります。
get records of memberTable where lastName begins with "S" and lastName isn't "Smith"
レコードが1つしかないと想定されるか、必要なレコードが1つのみの場合は、recordsの代わりにrecordを使用できます。これにより、複数のレコードのリストではなく、そのレコードの単一のレコードオブジェクトが返されます。
ここに、データベーステーブルの読み取りや管理のためのその他のツールを紹介します。
- データベーステーブルのレコードの反復処理:ここに示す情報に目を通し、レコードセットを1つずつ反復処理するrecord iteratorを入手して、リストとしてテーブルからレコードセットをフェッチする方法を理解してください。
- 追加的なデータベーステーブルプロパティ:ここに示す情報に目を通し、追加的なツールプロパティを設定してデータベーステーブルとレコードの管理に役立てる方法を理解してください。