MySQL

MySQL データベース一覧

スキーマとデータベースの位置づけが同じです。MySQLはPostgreSQLと同様に複数のデータベースを保持する事ができます(create databaseができる)がSQLを実行する際には「スキーマ」の位置づけとなります。たしかに「スキー...
MySQL

mysqlコマンドのインストール

はじめに通常クライアントPCからMySQLへ接続する場合A5:SQLや、MySQL WorkbenchなどのGUIツールを利用している事が多いようですが、やはりcuiのmysqlコマンドは非常に便利なのでインストールしておきましょう。クライ...
Linux

opensslを使ってファイルの暗号化

opensslのバージョンによっては-pbkdfオプションが利用できない場合もありますが、その際は外せば利用できると思います。(このオプションはパスワードから鍵を生成する際の強度を上げるためのものなので、利用しなくとも暗号化は可能です。より...
PostgreSQL

PostgreSQL generate_series() シーケンスと行データを生成

generate_series()指定された範囲で整数のシーケンスを生成し結果セットとして返却します。地味だけで便利な関数です。OracleやMySQLにはこれに相当する関数は無いとおもいます。ちょっとしたテストデータとして副問い合わせで利...
oracle

Oracle CONNECT BY PRIOR句とLEVEL疑似列を使って階層表示

以下のようなTREE構造をテーブルで保持している時「階層(レベル)」を知りたくなる状況があります。これを「自力」で求めるのは大変ですが、connect by prior句とLEVEL疑似列を使う事で簡単に導出できます。社員名(社員番号) 空...
oracle

Oracle rownumとは

ROENUM疑似列rownum疑似列といいます。rowidと勘違いしそうですが、こちらはselectの結果セットに対し、1から順番に採番してくれる「疑似列」です。もっとも利用されている例の一つに、SELECTの結果件数を制限する事に使ったし...
PostgreSQL

PostgreSQL 日付の計算/時間の計算

100分後、100時間後SELECT current_date,current_timestamp,CURRENT_TIMESTAMP + INTERVAL '100 minutes';SELECT current_date,current...
PostgreSQL

PostgreSQL 乱数作成

お手軽に英数字を使ったランダム文字列作成MD5ハッシュは16進表現となるので、出力されるのは0-9、a-fの範囲内でのランダム文字ですselect substr(md5(random()::text || now()::text),1,32...
PostgreSQL

PostgreSQL with句

with句自体の書き方はOracleと同じですが、PostgreSQL独自のVALUEリストと組み合わせて利用するとさらに便利に感じます。VALUEリストと組み合わせた利用例with wktbl as (SELECT * FROM (VAL...
PostgreSQL

PostgreSQL 文字列操作

quote_ident() 地味ですが有り難い関数です。たまに環境によっては、テーブル名やカラム名をダブルクォーテーションで囲まないとならない場合があります。例えば以下のようにテーブル名に日本語を使うようなケースです。このような時、info...