PostgreSQL&MySQL逆引き大全 456の極意

概 要

フリーで人気のデータベース、PostgreSQLとMySQLは、以前は「機能のPostgreSQL」「速度のMySQL」といわれていました。しかし、最近では両者の差は縮まり、開発エンジニアには両方の知識が求められるようになっています。本書は、PostgreSQLとMySQLについてSQL言語の基本からパラメータの設定まで幅広く解説。構文や使用例も豊富に紹介しています。また、知りたい目的内容から逆引きしてコマンドや実行方法などが調べられます。

著者 上ヶ迫勝憲
価格 本体2600円(税別)
ISBN 4-7980-0907-5
発売日 2004/10/30
判型 A5
色数 2色
ページ数 456
CD/DVD
対象読者 中級
シリーズ 逆引き大全
表紙イメージ
購入 アマゾンで購入する

※リンク先によっては、販売ページが用意されていないことがあります。 あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

現在サポート情報はありません

目次

第1章 SQLコマンドの基本

1-1 レコードの選択(検索)

 テーブル中のすべてのレコードを選択するには

 選択するフィールドを指定するには

 フィールドを別名でアクセスするには

 条件に一致するレコードだけを選択するには

 結果をソートして出力するには

 対象の一部だけを選択するには

 重複したレコードを削除して選択するには

 フィールド値でグループ化して処理するには

 対象のグループを絞り込むには

 複数の選択結果の和集合を求めるには

 複数の選択結果の積集合を求めるには

 複数の選択結果の差集合を求めるには

 複数テーブルからレコードすべてを結合するには

 複数テーブルから条件にマッチするレコードを結合するには

 一方のテーブルにないレコードも含めて結合するには

 結果を順に取り出すカーソルを定義するには

 カーソル位置からレコードを取得するには

 カーソル位置を移動するには

 カーソルを解放するには

 テーブルを対象としない演算などを実行するには

1-2 レコードの操作

 新しいレコードをテーブルに追加するには

 レコードを置換挿入するには

 レコードを更新するには

 レコードをテーブルから削除するには

1-3 テーブルとビューの操作

 新しいテーブルを作成するには

 一時的に使用するテーブルを定義するには

 問い合わせ結果から新しいテーブルを作成するには

 ほかのテーブル構造を継承してテーブルを作成するには

 テーブルの定義名や属性を変更するには

 テーブルを削除するには

 指定したテーブルを作成するSQL文を取得するには

 フィールド名を変更するには

 フィールドに主キーを設定するには

 フィールドにデフォルト値を設定するには

 フィールドにNULL値を許可しない制約を設定するには

 フィールド値が重複しない制約を設定するには

 フィールドに値の範囲制約を設定するには

 フィールドに外部キー制約を設定するには

 テーブルのフィールド構造を確認するには

 テーブルの全行を削除するには

 自動的に増加する数値を利用するには

 シーケンスを削除するには

 シーケンスの設定を変更するには

 新しいビューを定義するには

 ビューの定義を削除するには

 新しい書き換えルールを定義するには

 書き換えルールを削除するには

1-4 データベースの操作

 新しいデータベースを作成するには

 データベースを削除するには

 データベース名を変更するには

 カレントのデータベースを変更するには

 新しいスキーマを定義するには

 スキーマ定義を削除するには

 スキーマ名を変更するには

 オブジェクトにコメントを設定するには

1-5 ユーザとグループの管理

 データベースユーザを作成するには

 ユーザを削除するには

 ユーザの属性を変更するには

 ユーザグループを作成するには

 ユーザをグループに追加するには

 グループを削除するには

 セッション中にユーザを切り替えるには

 ユーザやグループに操作権限を与えるには

 ユーザやグループの操作権限を剥奪するには

 ユーザ権限を複製するGRANT文を取得するには

第2章 フィールド型 

2-1 数値データ型

 整数値を格納するには

 小数を含む数値を格納するには

 小数を含む正確な数値を格納するには

 自動的に増加する連番を使用するには

2-2 論理値型

 真偽値を格納するには

2-3 文字列型とバイナリ型

 固定長文字列を格納するには

 上限のある可変長文字列を格納するには

 文字数制限なしで可変長文字列を格納するには

 事前に定義したリストに存在する文字列を格納するには

 定義したリストに存在する複数の文字列を格納するには

 バイナリデータを格納するには

2-4 日付時刻型

 日付を格納するには

 時刻を格納するには

 日付と時刻を1つのフィールドに格納するには

 時間間隔を格納するには

 年だけを格納するには

 タイムスタンプを格納するには

 特定の日付時刻をあらわす定数を使用するには

2-5 幾何データ型

 2次元の座標を格納するには

 線分の始点と終点を格納するには

 矩形データを格納するには

 パスの頂点を格納するには

 多角形の頂点を格納するには

 円の中心と半径を格納するには

2-6 ネットワークアドレス型

 IPアドレスを格納するには

 MACアドレスを格納するには

2-7 ビット型

 固定長のビット列を格納するには

 可変長のビット列を格納するには

2-8 特殊なデータ型

 オブジェクト識別子データ型とは

 疑似データ型とは

2-9 配列型

 配列型のフィールドを使用するには

 配列の要素へ値を格納するには

 配列の要素を参照するには

第3章 演算子 

3-1 比較演算子

 等しい、等しくないを判断するには

 NULLかどうかを判断するには

 大小関係を判断するには

 値の範囲と比較するには

 値のリストに存在するかどうかをチェックするには

 サブクエリ中にレコードが存在するかどうかをチェックするには

 サブクエリ中のいずれかの値と比較するには

 サブクエリ中のすべての値と比較するには

3-2 論理演算子

 AとBがともに真である、という条件を記述するには

 AかBいずれかが真である、という条件を記述するには

 AとBの真偽が異なる、という条件を記述するには

 論理値を反転するには

3-3 算術演算子

 四則演算を行う演算子は

 除算の余りを求める演算子は

 数値AをB乗した値(べき乗)を求める演算子は

 平方根や立方根を求める演算子は

 階乗を求める演算子は

 絶対値を求める演算子は

 ビットの論理演算を行う演算子は

 ビットをシフトする演算子は

3-4 文字列およびバイナリ列演算子

 文字列の結合を行う演算子は

3-5 パターンマッチング

 文字列のパターンマッチングを行うには(LIKE)

 文字列のパターンマッチングを行うには(SIMILAR TO)

 正規表現を利用してパターンマッチングを行うには

3-6 日付時刻演算子

 日付や時刻の加減算を行うには

 時間の乗除算を行うには

 2つの期間が重なるかどうかを判断するには

3-7 幾何演算子

 図形位置を移動するには

 図形を拡大/縮小するには

 交差する座標や重複する領域を求めるには

 パスや多角形の頂点数を求めるには

 直線の長さやパスの全長を求めるには

 円のデータから中心だけを取り出すには

 図形や点の包含関係を調べるには

 点と直線の最接近点を計算するには

 点と直線の最短距離を計算するには

 重なるかどうかを判断するには

 図形の位置関係を判断するには

 交わるかどうかを判断するには

 垂直や水平を判断するには

 直角や平行を判断するには

 2つの図形が等しいかどうかを判断するには

3-8 配列演算子

 配列が等しいかどうかを判断するには

 配列を結合するには

第4章 関数 

4-1 算術関数と三角関数

 剰余を求めるには

 符号を判断するには

 絶対値を求めるには

 平方根や立方根を求めるには

 円周率を得るには

 乱数を得るには

 値を四捨五入するには

 値を切り捨てるには

 引数より小さくない最小の整数を求めるには

 引数より大きくない最大の整数を求めるには

 引数から最大値、最小値を得るには

 ラジアンと角度を相互に変換するには

 XのY乗を求めるには

 自然対数の底のX乗を求めるには

 自然対数を求めるには

 対数を求めるには

 1にセットされているビットの数を調べるには

 三角関数を使用するには

4-2 文字列およびバイナリ列関数

 ASCIIコードを処理するには

 文字列を反転させるには

 文字列を繰り返した文字列を生成するには

 指定した文字数分の空白を得るには

 ファイルからテキストを読み込むには

 文字数を調べるには

 文字列の長さをバイト数やビット数で得るには

 大文字小文字を変換するには

 数値をn進数表現した文字列に変換するには

 検索文字列に一致する位置を得るには

 文字列の先頭や末尾から部分文字列を得るには

 指定範囲の文字列を得るには

 パターンマッチングにより部分文字列を得るには

 文字列を分割してその一部を得るには

 引数リストの指定された文字列の要素位置を得るには

 引数リスト中の要素位置を得るには

 ビット指定により引数中の複数の文字列を得るには

 SET型文字列中から文字列を検索するには

 数値のビットのオンオフを文字列に置き換えるには

 文字列にほかの文字列を挿入するには

 文字列を検索置換するには

 文字の組で置換するには

 先頭や末尾の空白文字を取り除くには

 文字列の先頭や末尾から特定の文字を取り除くには

 文字列の先頭や末尾を埋めて一定の長さにするには

 現在のクライアントの文字エンコーディングを得るには

 文字コードを変換するには

 文字列のエンコードやデコードを行うには

 文字列のハッシュ値を求めるには

 暗号化した文字列を取得するには

 可逆暗号化文字列を利用するには

 文字列をバイトやビットで処理するには

4-3 データ変換関数

 書式を指定して日付時刻を文字列に変換するには

 書式を指定して数値を文字列に変換するには

 文字列を日付に変換するには

 文字列をタイムスタンプに変換するには

 文字列を数値に変換するには

4-4 日付時刻関数

 現在の日付や時刻を求めるには

 現在のタイムスタンプを求めるには

 現在の日付時刻を文字列で求めるには

 日付や時刻の情報から部分情報を求めるには

 UNIXエポックからの秒数を求めるには

 UNIXエポックからの経過秒数を日付時刻に変換するには

 日付から年や月などのデータを取り出すには

 年の最初(1月1日)からの日数を求めるには

 日付から四半期を求めるには

 指定した日付の曜日を序数で求めるには

 日付から曜日の英語名を求めるには

 指定した日付がその年の第何週になるかを求めるには

 指定した日付の年と週を求めるには

 時刻から特定の情報だけを取り出すには

 日付や時刻の情報から指定した精度以下を切り捨てるには

 日付時刻の加減算を行うには

 2つのタイムスタンプの間隔を求めるには

 時分秒と秒数を相互に変換するには

 月単位の加減算や比較を行うには

4-5 幾何関数

 長さを求めるには

 面積を求めるには

 矩形の幅や高さを求めるには

 2つの矩形が重なる領域を求めるには

 矩形や円の中心を求めるには

 円の直径や半径を求めるには

 円や多角形の中心を求めるには

 パスや多角形の点の数を求めるには

 パスが閉じているか開いているかを確認するには

 クローズドパスとオープンパスを相互に変換するには

 2点を結ぶ直線を求めるには

 円や多角形を矩形に変換するには

 矩形や点から円に変換するには

 多角形とパスを相互に変換するには

 矩形を4点の多角形に変換するには

 円から12角形、またはn角形に変換するには

4-6 ネットワークアドレス関数

 ネットワークアドレスからブロードキャストアドレスを求めるには

 ネットワークアドレスを文字列で取り出すには

 ネットマスク長を求めるには

 ネットマスク長を設定し直すには

 ネットマスクやホストマスクを生成するには

 ネットワークアドレスからネットワーク部を抽出するには

 IPアドレスと整数を相互変換するには

 MACアドレスの下位3バイトを0にするには

4-7 シーケンス操作関数

 次のシーケンス値を求めるには

 直近の関数nextvalで得られたシーケンス値を求めるには

 現在のシーケンス番号を設定するには

4-8 配列関数

 配列に要素を追加するには

 2つの配列を結合するには

 配列と文字列を相互に変換するには

4-9 集約関数

 平均値を求めるには

 合計値を求めるには

 レコード数を求めるには

 最大値、最小値を求めるには

 標準偏差や分散を求めるには

 ビット和やビット積を求めるには

4-10 その他の関数 

 現在のスキーマ名を取得するには

 現在のユーザ名を取得するには

 コネクションIDを取得するには

 バージョン番号を取得するには

4-11 フロー制御関数/構文 

 値により処理を分岐するには

 条件式が真か偽かで処理を分けるには

 リスト中のNULLでない最初の要素を求めるには

 2値が等しい場合にNULLを返すには

 AがNULLでなければA、NULLならBを返すには

 リスト中でAより小さい最大の要素位置を返すには

第5章 排他制御とトランザクション 

5-1 ロック

 テーブルをロックするには

 テーブルのロックを解除するには

 レコードを更新用にロックするには

 任意名のロックを作成するには

5-2 トランザクション

 トランザクションの開始を宣言するには

 隔離レベルを指定してトランザクションを開始するには

 トランザクション中の処理を確定するには

 トランザクション中の処理を無効にするには

 トランザクション特性を設定するには

 チェックポイントを設定するには

第6章 ユーザ定義の関数、データ型 

6-1 ユーザ定義関数

 新しいユーザ定義関数を定義するには

 ユーザ定義関数を変更するには

 ユーザ定義関数を削除するには

 共有ライブラリを読み込むには

 新しい集約関数を定義するには

 集約関数を削除するには

 集約関数の名前を変更するには

6-2 ユーザ定義データ型

 新しいデータ型を定義するには

 データ型を削除するには

 新しいドメインを定義するには

 ドメインを削除するには

 ドメイン定義を変更するには

6-3 ユーザ定義演算子

 新しい演算子を定義するには

 演算子を削除するには

 新しい演算子クラスを定義するには

 演算子クラスを削除するには

 演算子クラスの名前を変更するには

 新しいキャストを定義するには

 定義したキャストを削除するには

 型キャストを利用するには

第7章 PL/pgSQL言語 

7-1 関数や変数の宣言

 PL/pgSQL言語を使用するには

 PL/pgSQL言語の基本構造は

 引数を参照するには

 変数を宣言するには

 変数に値を代入するには

 指定したフィールドと同じ型で変数を宣言するには

 レコードを格納する変数を定義するには

 変数名を変更するには

7-2 式と文

 SQLコマンドを実行するには

 結果を必要としない式やクエリを実行するには

 動的にSQLコマンドを実行するには

 SQL文の実行結果を知るには

 ソース中にコメントを記述するには

7-3 制御構造

 関数を終了して値を返すには

 値の集合を返値にするには

 条件分岐を行うには

 FORによるループ処理を行うには

 WHILEによるループ処理を行うには

 LOOPによるループ処理を行うには

 ループを途中で抜けるには

 問い合わせ結果をループ処理するには

7-4 カーソルの制御

 カーソル変数を宣言するには

 バウンドカーソルをオープンするには

 アンバウンドカーソルをオープンするには

 カーソルを利用してレコードを取得するには

 カーソルを閉じるには

 カーソルを関数の呼び出し元に返すには

7-5 メッセージ出力とエラー処理

 メッセージを出力するには

第8章 チューニングとカスタマイズ 

8-1 インデックスの利用

 新しいインデックスを定義するには

 インデックスを削除するには

 インデックスを再構築するには

8-2 問い合わせ計画

 問い合わせ計画を出力するには

 統計情報を集計するには

8-3 SQL文の事前準備

 SQL文をあらかじめ用意しておくには

 用意されたSQL文を実行するには

 用意されたSQL文を解放するには

8-4 トリガ

 新しいトリガを定義するには

 トリガを削除するには

 トリガの名前を変更するには

第9章 システム管理 

9-1 データベースパラメータ

 実行時パラメータを表示するには

 実行時パラメータを一時的に変更するには

 一時的に設定したパラメータをデフォルトに戻すには

 設定ファイルを利用してパラメータを設定するには

 起動時のコマンドラインオプションでパラメータを設定するには

9-2 主な設定パラメータ

 データベースディレクトリを指定するには

 デフォルトのテーブル型を変更するには

 作業用ディレクトリの場所を指定するには

 起動時にテーブルを修復するには

 ANSI SQLに準拠したSQL文を使用するには

 外部からTCP/IP経由で接続を許可するには

 ポート番号を変更するには

 パスワード暗号化のデフォルトを変更するには

 使用するメモリ量を変更するには

 ソートやハッシュ処理用のメモリ量を変更するには

 VACUUM時の使用メモリ量を変更するには

 WALを非同期書き込みにするには

 WALの書き込み方式を変更するには

 WALやディスクの書き出しに遅延時間を設定するには

 遅延に必要なトランザクション数を設定するには

 WALログ用のバッファ数を変更するには

 ログを記録するには

 ログを記録しつつコンソールにもメッセージを表示するには

 syslogのファシリティを変更するには

 syslogに出力されるプログラム名を変更するには

 成功した接続をログに記録するには

 接続ログをIPアドレスではなくホスト名で記録するには

 ログに出力されるメッセージのレベルを変更するには

 ログに出力される情報の精度を変更するには

 起動時に実行するSQL文を指定するには

 指定した時間より長くかかるSQL文を強制的に中断するには

 実行したSQL文をログに記録するには

 SQL文の実行に要した時間をログに記録するには

 時間のかかったSQL文をログに記録するには

 SQLコマンドの優先度を変更するには

 SQL文実行後に強制的にディスクに書き込むには

 エラーが発生したSQL文をログに記録するには

 クライアントに送信するログのレベルを変更するには

 標準出力へのメッセージ出力をオフにするには

 デバッグ用にパースや問い合わせプランを出力するには

 問い合わせ計画に関する設定を変更するには

 統計情報収集に関する設定を変更するには

 スキーマの検索パスを設定するには

 ユーザ定義関数の検証を無効にするには

 トランザクション隔離レベルのデフォルトを変更するには

 日付の出力書式を変更するには

 タイムゾーンを設定するには

 クライアント側の文字コードを指定するには

9-3 バキューム

 不要になったデータ領域を解放するには

 定期的に不要領域の最適化を実行するには

9-4 バックアップ

 データベースをバックアップするには

 すべてのデータベースをバックアップするには

 バックアップからリストアするには

 システム全体のバックアップからリストアするには

 テーブルからファイルへデータをバックアップするには

 ファイルからテーブルへデータをコピーするには

 テーブルの破損チェックを行うには

 破損したテーブルを修復するには

9-5 システムの監視

 リスナを登録するには

 リスナの登録を解除するには

 リスナへ通知するには

 サーバのステータスを出力するには

 テーブルの情報を出力するには

 プロセスリストを出力するには

9-6 レプリケーション

 レプリケーションのマスターサーバを設定するには

 スレーブサーバを設定するには

第10章 コマンドラインツール 

10-1 コマンドラインツール 

 データベースシステムの起動や終了を制御するには

 データベースを作成するには

 データベースを削除するには

 データベースディレクトリを初期化するには

 ユーザを作成するには

 ユーザを削除するには

 パスワードを変更するには

 不要になったデータ領域を解放するには

10-2 対話型インターフェースと起動オプション 

 対話型インターフェースを起動するには

 接続するデータベースを指定するには

 接続するポートを指定するには

 接続するユーザとパスワードを指定するには

 設定ファイルを読み込まずに起動するには

 ファイルからコマンドを読み込んで実行するには

 エラーが発生しても処理を継続するには

 エラーが発生した行番号を出力するには

 プロンプトを変更するには

 区切り文字を変更するには

 出力形式を指定するには

 垂直にレコードを出力するには

 出力をHTML形式に変更するには

 出力をXML形式に変更するには

 出力をファイルに書き出すには

 ログインメッセージをオフにするには

 フィールド名やフッタを非表示にするには

 BEEP音をオフにするには

 対話型インターフェースのヘルプを表示するには

10-3 対話型インターフェースのメタコマンド 

 異なるデータベースに接続し直すには

 対話型インターフェースを終了するには

 問い合わせをエディタで編集して実行するには

 ファイルの内容を実行するには

 問い合わせをサーバに送信するには

 コマンドラインバッファを利用するには

 実行にかかった時間を表示するには

 変数を設定するには

 出力形式を指定するには

 フィールドの情報を出力するには

 データベースの一覧を出力するには

 テーブルの一覧を出力するには

 テーブルとアクセス権の一覧を出力するには

 ビューの一覧を出力するには

 インデックスの一覧を出力するには

 シーケンスの一覧を出力するには

 スキーマの一覧を出力するには

 システムテーブルの一覧を出力するには

 型や型キャストの一覧を出力するには

 演算子の一覧を出力するには

 関数の一覧を表示するには

 ドメインの一覧を表示するには

 ラージオブジェクトを処理するには

 オブジェクトの説明を表示するには

 データベースユーザの一覧を出力するには

 文字エンコーディングを変更するには

 文字列や変数値を出力するには

 テーブルをファイルにコピーするには

 シェルの起動やシェルコマンドを実行するには

 作業ディレクトリを変更するには

 ライセンス情報を出力するには

 メタコマンドなどのヘルプを表示するには

PR

秀和システム