一週間ぶりにRDSを立ち上げました。
前回テーブルを作ったはずなのだが、すっかり作成したテーブル名を忘れてしまった。。。
Oracleで作成したテーブルは、「USER_TABLES」に情報が入っているそうだ。
早速、SELECT文を書いた。
SQL> select * from USER_TABLES;
この実行結果は、、、
TABLE_NAME ------------------------------------------------------------------------------- TABLESPACE_NAME ------------------------------ CLUSTER_NAME -------------------------------------------------------------------------------- ・ ・ ・
なんかたくさん文字が出た。
テーブルの名前を知りたいので、TABLE_NAMEを表示するようにSELECT文を書き換える。
SQL> select TABLE_NAME from USER_TABLES;
出力結果
TABLE_NAME -------------------------------------------------------------------------------- STARMANTEST
では、早速、作ったstarmantestテーブルのデータを見る。
SQL> select * from starmantest;
あれ? 0件と表示された。データが入ってない。
入れた気がしたんだけどなーー。。。
気を取り直して、INSERT文を作る。INSERT内容は、こんな感じ。
STARNO | STARNAME | GENDER_F |
00000001 | starman | 0 |
00000002 | starwoman | 1 |
SQL文をsqlplusのコンソールで、手書きしてたけど、なんども間違えたのでSQL文のファイルを作って読み込ませることにした。
こんなファイルを作りました。
[ec2-user@websv01 ~]$ cat insert_starman.sql insert into starmantest ( starno, starname, gender_f ) values ( '0000000001', 'starman', '0' ); insert into starmantest ( starno, starname, gender_f ) values ( '0000000001', 'starwoman', '1' );
これをSQLPLUSで読み込ませる。読み込みは、@に続けてファイル名を書けば良いようだ。
SQL> !ls
insert_starman.sql
SQL> @insert_starman.sql
1 row created.
1 row created.
インサート結果の確認
SQL> select * from starmantest; STARNO STARNAME GENDER_F ---------- -------------------------------------------------- ---------- 0000000001 starman 0 0000000001 starwoman 1
あ、間違えに気づいた。starwomanのstarnoが「1」になっている。これを「2」に直したい。
UPDATE文で修正するようだ。starwomanのstarnoを「2」にしたいので、こうかな。
SQL> UPDATE starmantest SET starno = '00000002' WHERE starname = 'starwoman' ; 1 row updated.
さて、結果は
SQL> select * from starmantest;
STARNO STARNAME GENDER_F
---------- -------------------------------------------------- ----------
0000000001 starman 0
0000000002 starwoman 1
バッチリ修正できていた。
今日はこんなところ。
・ユーザが作成したテーブル情報は、USER_TABLESにある。
SQL> SELECT TABLE_NAME FROM USER_TABLES;
・SQLPLUSでSQL文を読み込む時は、「@」を使う。@に続けてファイル名を入力する。
SQL> @ファイル名
・データの修正は、UPDATEで行う。
SQL> UPDATE テーブル名 SET 項目名 = ‘値’ WHERE 項目名 = ‘値’;