プログラム学習室 http://studyhallweb.com/

Access SQL 作成・挿入・更新・削除

テーブルを作成する(CREATE TABLE)

SQLでデープルを作成することが出来ます。マクロやプログラム内でテンポラリーなテーブルを作成できます。

CREATE TABLE T1 (seq INTEGER, title CHAR)
seqという数値型のフィールドとtitleという文字型のフィールドをもったT1テープルを作成します。

レコードを挿入する(INSERT INTO)

INSERT INTOでテーブルにレコードを挿入します。
直接値を指定したり、SQL文の出力を挿入することも可能です。

INSERT INTO T1 VALUES('ABC', 'XY', 123, 78.9)
T1テーブルにレコードを挿入します。
VALUES()で指定する値はT1のレコードフォーマットと同じでなくてはなりません。

INSERT INTO T1 (FA, FC) VALUES('ABC', 123)
FAとFCのフィールドのみ値を指定してレコードを挿入します。

INSERT INTO T1

SELECT F1, F2, F3, F4 FROM T2 WHERE F1 = 'A'
SELECTで抽出された内容をT1に挿入します。

INSERT INTO T1

SELECT 'A', F2, 0, F4 FROM T2 WHERE F1 = 'A'
SELECTで固定値を指定することも可です。

INSERT INTO T1 (FA, FC)

SELECT F1, F2 FROM T2 WHERE F1 = 'A'
フィールドを指定してSELECT文の結果を挿入することも可です。

レコードを更新する(UPDATA)

通常はWHERE節でレコードを特定して更新処理を行います。

UPDATE T1 SET FA = 'D'
T1テーブルのFAの値をすべてDにします。

UPDATE T1 SET FA = 'D' WHERE FA = 'S'
T1テーブルのFAの値がSのものをDにします。

レコードを削除する(DELETE)

通常はステータスを表すフィールドを持たせ、レコードを削除する代わりにステータスを変更させるのが一般的です。

DELETE FROM T1
T1テーブルより総てのレコードを削除します。
作業用のテンポラリーなテーブルなどに対してよく行います。

DELETE FROM T1 WHERE FA = 'D'
T1テーブルよりFAの値がDのレコードを削除します。

DELETE FROM T1

WHERE FA IN (SELECT F1 FROM T2)
T1.FAがT2.F1に等しいレコードを削除します。
WHEREの指定が複数(FAの値として複数)になるときは IN を用います。