db
どうやってやるのか全くわからず、悩みました... まあおそらくSQL以外でやってみるのも手だったのだと思うのですが、 単純に好奇心でどうやってやるのか調べました。 前提 下記のようなテーブルがあります。 testテーブル id (PK) another_id target_id 1 1 …
大量データを扱う際に、件数のみとりあえずちゃんと定義したものがインサートされているのか確認したい場合。 コンソールに結果を表示していると、時間がかかっちゃうので SELECT COUNT(*) FROM TABLE_NAME WHERE COLUMN_X='X' でOKですね
何度やっても忘れるのでメモ 1) export db2 "export to A.txt of del select * from table_name" selectした結果をA.txtに出力します。 2) import db2 "import to A.txt of del insert * into table_name" A.txtの内容をtable_nameにインサートします。
旧ブログからの移行 db2 get dbm cfg | grep SVCENAMEと打ちます。するとTCP/IPサービス名が表示されるはずです。TCP/IPサービス名 (SVCENAME) = DB2_inst1このDB2_inst1に対してまたgrepをかけます。grep DB2_inst1 /etc/serviceswindowsの場合はfindstr "d…
旧ブログから移行してなかったので引用 db2 "select * from syscat.keycoluse where tabname = '調べたいテーブル名'"結果の"COLNAME"が主キーです。keycoluse = keyのcolumnとして使う(use)でkeycoluseと覚えれば楽。
*db2の場合 列Aに、重複している値が何件あるか確認する SELECT ROW_A from TABLE_A GROUP BY ROW_A HAVING COUNT(ROW_A) > 1 詳しくは下記リンク参照 重複しているレコードを検索するSQL(大量データも対応) - Qiita
大量データをinsert/deleteをする場合、db2のログファイルがいっぱいですというエラーがでてしまうとき。 他の方法は知りませんが、とりあえずログサイズを拡張することでエラーの回避ができます。(ログファイルの削除の方法知りたいけど) 1) まずは下記を…
db2 list tables for all スキーマ・テーブル名がわかっている場合、grepをつけたらいいよ db2 list tables for all | grep -i XXXX
DB2にもポート番号があるんですよね。あんまり意識したことないですが何かしらのアプリからDB接続をする際に必要だったりしますので、調べ方をメモしておきます。db2 get dbm cfg | grep SVCENAMEと打ちます。するとTCP/IPサービス名が表示されるはずです。T…
IBM Knowledge Center
ALTER TABLE 表名 ADD COLUMN 列定義 alter table table_name add column column_name ただ、表の最後に追加した列が出来るので、 最後の列を更新時間などにしてる場合は気持ち悪くなります。
・サーバー上のホストネームを確認 ・DB名を確認 ・DBが使用するポート番号を確認 db2でポート番号を確認する方法は以下です db2 get dbm cfg | grep SVCENAME grep DB2_inst1 /etc/services ↓ Windowsのコマンドプロンプトのdb2cmdで確認する場合は以下 fin…
やっぱりなんといっても10個以上の連続SQLをUNIX等の画面上でやるのは非常に疲れるし、作業効率も非常に悪い。ただ値を+1してUPDATEするときなんかは目も痛くなるし時間はかかるで最悪です。というわけでそういう状況に陥ったときは、txtファイルでも作成…
以下のコマンドをddlファイルを作成したいディレクトリに移動して押下 db2look -d データベース名 -e -z スキーマ名 -w パスワード -i ユーザー名 -o ファイル名.ddl
あるテーブルのデータをtxtファイルにしてそのままどこかのテーブルにそのtxtファイルのデータを挿入したい場合なんかに重宝するSQLを。まずexport文db2 "export to A.txt of del select * from テーブル名"A.txtのAの部分は出力したいファイル名です。これ…