データの変更
この章では、以下の項目について説明します。
データ変更の概要
データベースを作成した後、以下のようにデータベースを変更できます。
•テーブルを作成した後、テーブル定義を変更できます。
•列を作成した後、オプションの列属性を設定できます。
•データベースにデータを追加した後、データを変更できます。
SQL Data Manager を使用してこれらのタスクを実行できます。対話型アプリケーションの詳細については、『PSQL User's Guide』を参照してください。SQL ステートメントの詳細については、『SQL Engine Reference』を参照してください。
テーブルの変更
テーブルの作成後にテーブル定義を変更するには、ALTER TABLE ステートメントを使用します。ALTER TABLE ステートメントでは、列の追加と削除、主キーおよび外部キーの追加と削除、テーブルのデータ ファイルのパス名の変更を行うことができます。
次の例は、サンプル データベースの Tuition テーブルに Emergency_Phone という数値型の列を追加します。
ALTER TABLE Tuition ADD Emergency_Phone NUMERIC(10,0)#
列の詳細については、第
14 章
データの挿入と削除を参照してください。主キーと外部キーの詳細については、第
18 章
データの管理を参照してください。
デフォルト値の設定
行を挿入しても列に値を指定しないと、PSQL がデフォルト値を挿入します。デフォルト値は、各行の列に有効な値が確実に入るようにします。
サンプル データベースの Person テーブルでは、すべての学生は同一の州内に住んでいます。State 列に TX などのデフォルト値を設定することにより、その列に対し最も可能性の高い値が常に入力されるようにします。
列のデフォルト値を設定するには、CREATE TABLE ステートメントで DEFAULT ステートメントを使用します。
CREATE TABLE MyTable(c1 CHAR(3) DEFAULT 'TX', ID INTEGER)#
SELECT * FROM MyTable#
SELECT ステートメントの結果
"c1", "ID"
"TX", "1234"
2 列から 1 行フェッチされました。
UPDATE ステートメントの使用
既にテーブル内に存在する行の中のデータを変更するには、UPDATE ステートメントを使用します。UPDATE ステートメントでは、行の特定の列を変更できます。また、UPDATE ステートメントの WHERE 句を使用して、PSQL がどの行を変更するかを指定できます。これを検索更新(Searched Update)と呼びます。SQL で宣言されたカーソルと位置付け UPDATE ステートメントを使用して、データをフェッチする宣言済みカーソルの現在の行を更新できます。
UPDATE Course
SET Credit_Hours = 4
WHERE Course.Name = 'Math'#
この例では、Math というコース名を含む行を検索し、Credit Hours 列の値を 4 に変更するよう PSQL に指示しています。
前の例で示されているように、UPDATE ステートメントの SET 句の右側に定数を置くことによって、列を更新できます。