7
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

IBM i 駆け出し日記:SQLを使ってDb2 for i を操作してみる(初心者向け)

Last updated at Posted at 2024-12-27

はじめに

SQL学習中です。
SQLをIBM i で利用すると、便利なことはロチェで学んだのですがVS codeのDb2 for iで使いこなせないかと思い、、初心者向けお勉強記事です。

SQLとは

リレーショナル・データベースのデータを定義したり、操作したりするための言語です。
SQL ステートメントを直接使用して、スキーマ、テーブル、 およびビューの作成と処理を行うことができます。

SQLの用語:DDLとDMLとDCL

SQLで使用される3つの主要なカテゴリのことを指す言葉です。

  • DDL(データ定義言語)
    データベースの構造を定義または変更するためのコマンド。
    テーブルの作成や変更、削除などを行う時に使う。
    例:CREATE, ALTER, DROP

  • DML(データ操作言語)
    データベース内のデータを操作するためのコマンド。
    データの追加、更新、削除、検索をする時に使う。
    例:SELECT, INSERT, UPDATE, DELETE

  • DCL(データ制御言語)
    データベースのアクセス制御を管理するためのコマンド。
    ユーザーの権限を付与したり、取り消したりします。
    例:GRANT, REVOKE

これらのコマンドを使用することで、データベースの設計からデータの操作、アクセス権限の管理まで一貫した操作が可能になります。

SQL用語とIBM i 用語の対比

SQL用語  IBM i 用語
スキーマ ライブラリ
テーブル 物理ファイル(PF)
ビュー 論理ファイル(LF)

SQLが実行できるIBM i 環境

選択肢は3つあると思っていて、
・ACS
・VS codeのDb2 for i
・5250画面
5250画面でもSTRSQLコマンドでSQL実行できます。

ただSQLの醍醐味はコピーアンドペーストだと思っているので、コピペがしやすい上2つを個人的には推します。

今回はVS codeのDb2 for iを使ってSQL実行していきます!
VS codeの拡張機能であるDb2 for iの概要とセットアップについてはこちらの記事を参照ください。

SQLでライブラリ(スキーマ)を作ってみる

VS codeのDb2 for i を開きます。
テキストエディタの適当な部分を右クリックすると、新しいテキストファイルの作成ができます。
image.png
新しいテキストファイルを開いて、実行したいSQLを入力していきます。

SQL文を実行するためにスキーマ(ライブラリ)を作ります。

CREATE SCHEMA KOGASCH

右上の三角の実行ボタンを押します。
image.png

スキーマブラウザー確認してみます、作成できていることがわかります。
image.png

SQLで物理ファイル(テーブル)を作ってみる

IBM i Serviceを使う

サイドバーの下の方にExamplesがあります。その中のDDL一覧の中になんとテーブル作成のSQLが、、、!
image.png
原型はこれ。
image.png

原型を生成AIの力を借りてもじって以下を作りました。

image.png

CREATE TABLE KOGASCH.KOGATAB (
    TKBANG INT NOT NULL, 
    TKNAKN VARCHAR(50),
    UPDATE_TIMESTAMP TIMESTAMP,
    TKGURT INT,
    TKGURIT VARCHAR(50)
);

実行して、SCHEMA BROWSERから結果を見ると、KOGATABがいる。
image.png

メモ帳マークを押してみるとテーブル原型ができてました!
image.png

こんな感じで例からもじってSQL実行すると楽ちんですね。

実行したSQLはCommand+Sでローカルに保存することもできます。
image.png

保存すれば使いまわせる、人にも配れるで便利ですね。
以下実行していったSQLと結果です。

プライマリキーの指定

ALTER TABLE KOGASCH.KOGATAB
ADD PRIMARY KEY (TKBANG);

結果はTKBANGをプライマリーキーにしただけなので見た目的な変化はないので割愛。
エラーが出てなければ基本実行できています。

データの追加

INSERT INTO KOGASCH.KOGATAB (TKBANG, TKNAKN)
VALUES ('1000', '相沢書店');

image.png

複数データの追加

INSERT INTO KOGASCH.KOGATAB (TKBANG, TKNAKN, UPDATE_TIMESTAMP, TKGURT, TKGURIT)
VALUES 
    (2000, '山田商事', CURRENT_TIMESTAMP, 1000, '詳細B'),
    (3000, '川崎不動産', CURRENT_TIMESTAMP, 2000, '詳細C'),
    (4000, '東京書店', CURRENT_TIMESTAMP, NULL, NULL);

image.png

データの更新

東京書店の当月売上高を300000に更新

UPDATE KOGASCH.KOGATAB
SET TKGURT = 300000
WHERE TKBANG = '4000';

image.png

データの削除

山田商事を削除します

DELETE FROM KOGASCH.KOGATAB
WHERE TKBANG = '2000';

image.png

SQLの活用場面

データベース操作でこのようにDb2 for i のデータを操作できます。
IBM i 初心者がデータベース操作を行ってみるのに関してはSQLを使ってみるのもいいのかなと思います。

データベース操作以外に実行管理もSQLで実行できますので、今度紹介したいです。

7
1
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?