データベースまとめ

このカテゴリにはデータベースSQLServer、Oracle、MySQLの技術的な内容を記述しています。

スポンサーリンク
PostgreSQL

PostgreSQLのDBlinkを使用して他のデータベースのテーブルを参照する方法

PostgreSQLのDBlinkを使用するにはextensionを導入し、dblinkでリモートデータベースへの接続を作成することで、リモートデータベースのテーブルにアクセスできるようになります。
2021.08.13
PostgreSQL

PostgreSQLでINSERTとUPDATEを1行で実行するMERGE(UPSERT)を行う

PostgreSQLでは SQLServerのMERGE 文と同じことを行うにはCONFLICTを使って行います。
PostgreSQL

PostgreSQLで一時テーブルを作成する方法

PostgreSQLの一時テーブルは作成してからセッションが有効な間だけアクセスできるテーブルです。一時テーブルはセッション内のみ有効なので、セッションが切断された時には自動でテーブルが削除されるので、不要なテーブルが残ってしまうこともありません。また、他のセッションからも見れないので、同じ一時テーブル名が存在しても、セッションが異なればエラーにならず、それぞれの処理で同じテーブル名が使えることになります。
スポンサーリンク
PostgreSQL

PostgreSQLでテーブルのプライマリキー(主キー)を削除する方法

PostgreSQLでテーブルのプライマリキーを削除するにはALTER TABLE 文を使います。通常のDROP INDEX文ではありません。
PostgreSQL

PostgreSQLのViewが更新可能かどうかチェックする方法

PostgreSQLのVIEW は一定の条件を満たせば、通常のテーブルと同様にVIEWの元テーブルに対してデータの挿入や更新が可能になります。挿入や更新が可能かどうかはinformation_schema.viewsを参照すれば判定することが可能です。
2021.07.21
PostgreSQL

PostgreSQLで関数の定義(ソース)を取得する方法

PostgreSQLで関数の定義(ソース)を取得するSQLはpg_get_functiondef関数を利用すればできます。ただし、取得するためにはその関数のOIDが必要です。
PostgreSQL

PostgreSQLでトリガーの有効/無効を切り替える方法

PostgreSQLでテーブルに設定されているトリガーを有効にしたり無効にしたりするにはALTER TABLE文を使ってENABLE TRIGGER(有効)、DISABLE TRIGGER(無効)で切り替えることができます。
PostgreSQL

PostgreSQLでシーケンスの一覧を取得する方法

PostgreSQLでシーケンスの一覧を SQLで取得するにはpg_sequences、pg_classを利用すれば、スキマー名やその設定内容が取得できます。
PostgreSQL

PostgreSQLでVIEWの一覧を取得するSQL

PostgreSQLでVIEWの一覧を取得するには pg_views を利用することで一覧を取得することができます。
PostgreSQL

PostgreSQLでトリガーの一覧を取得する

PostgreSQLにはテーブルに対してデータを挿入(INSERT)の前後、更新(UPDATE)の前後、削除(DELETE)の前後のタイミングで自動で起動される処理をトリガーとして定義することができ、トリガーの情報はinformation_schema.triggersとpg_triggerを利用して取得します。
PostgreSQL

PostgreSQLにはISNULLやNVLがないので関数で自作する

PostgreSQLにはSQLServerのISNULLやOracleのNVL に対応する関数がないので値がNULLの場合に別の値に変換して取得するにはCOALESCEで代用します。今回は「多様型」の引数と戻り値を使ってISNULL関数を作成します。
2021.07.27
PostgreSQL

PostgreSQLでプライマリキー、ユニークインデックス、インデックスを取得する方法

PostgreSQLでテーブルに設定されているプライマリキー、ユニークインデックス、インデックスを取得するにはpg_indexスキーマのindisprimary カラムとindisunique カラムを参照してそれぞれ取得します。
PostgreSQL

PostgreSQLで関数の一覧を取得する

PostgreSQLでSQLを使ってスト関数の一覧を取得するにはinformation_schema.routines,pg_procスキーマーを参照して取得します。取得したいオーナー名やユーザー名を指定して実行すると、より絞り込んだ関数の一覧を取得することができます。
2021.06.23
PostgreSQL

PostgreSQLで接続しているデータベース名を取得する方法

PostgreSQLでアプリケーションが現在接続しているデータベース名を取得するにはcurrent_database()を使って取得します。
PostgreSQL

PostgreSQLでストアドプロシジャの一覧を取得する

PostgreSQLでSQLを使ってストアドプロシジャの一覧を取得するにはinformation_schema.routines,pg_procスキーマーを参照して取得します。取得したいオーナー名やユーザー名を指定して実行すると、より絞り込んだストアドプロシジャの一覧を取得することができます。
2021.03.26
PostgreSQL

PostgreSQLでテーブルのカラム名・属性を取得する方法

PostgreSQLでテーブルのカラム名・属性情報の一覧はシステムカタログのinformation_schema.columnsを検索することで取得することができます。
2021.07.21
PostgreSQL

PostgreSQLでデータベースの一覧を取得する方法

PostgreSQLで作成されているデータベースの一覧を取得するにはシステムカタログのpg_databaseを使用します。
PostgreSQL

PostgreSQLでテーブルの一覧を取得する方法

PostgreSQLでデータベース内に作成されているテーブルの一覧を取得するにはシステムカタログのpg_tablesを使用します。
PostgreSQL

PostgreSQLへ他の端末から接続する方法

他のコンピュータで稼働している PostgreSQL へはデフォルトでは許可されていません。接続するには設定を変更して再起動する必要があります。
SQL Server

SQLServerのSTRING_SPLITで指定した文字で文字列を分解する方法

SQLServer2016以降では指定された文字で文字列を分解して取得するにはSTRING_SPLITを使えば簡単に行うことができます。ただし、取得されるSELECT文のカラム名はvalueに固定されています。
2021.02.28
SQL Server

SQLServerのTrim関数は1度に複数の文字を前後から取り除ける

SQLServer2017で実装されたTrim関数は前後の半角空白文字を取り除けるだけではなく、複数の文字を1度に取り除ける強力なものになっています。これまで複雑にRTRIM関数、LTRIM関数を組み合わせていた処理がTRIM関数1つで書けるようになりました。
SQL Server

SQLServerのCASE WHENを使って年月ごとのデータを取得する

SQLServerのCASE WHENを使って年月ごとのデータを取得するには該当年月を100で割った余りでデータを振り分けます。
SQL Server

SQLの副問合せを使ってテーブルの変りをする

SQLの副問い合わせ(サブクエリ)とは、SELECTした結果を別のSQLで使うことを言います。今回は副問合せ(サブクエリ)を使ってテーブルの変りを実現してみます。
2021.03.04
SQL Server

SQLServerのVIEWに対するデータの挿入・更新

SQLServerでは複数のテーブルを結合した状態を1つのテーブルのように扱えるVIEWという機能があり、VIEWを使うと複雑なSELECT文を一度書くだけでそのSELECT結果自体をテーブルのように扱えます。INSERTやUPDATEもそのデータが影響を与えるテーブルが1つの場合は通常のテーブルと同じようにINSERTやUPDATEが行えます。
SQL Server

SQL ServerのSELECTとSETで変数代入時の違い

SQL Serverで変数を代入する場合には「SELECT」「SET」のどちらでもできますが、それぞれに少しだけ違いがあります。その違いを理解したうえで使用しないと、思わぬ不具合を発生させることにも成り兼ねないので注意しましょう。
2020.10.28
SQL Server

直前のINSERTで自動採番したIDENTITY列の値を取得する

SQLServerのIDENTITY属性の列をテーブルにデータをINSERTし、その挿入された値を直前に挿入された値を取得するには「@@IDENTITY」を利用すれば取得できます。
SQL Server

SELECTで別名・エイリアスが使えるかはSQL実行順序で決まる

SELECT文の中で別名(エイリアス)が使える、使えないは、それぞれの句のSQL実行順序で決まります。SQLServerの実行順序はFROM、ON、JOIN、WHERE、GROUP BY、WITH CUBE または WITH ROLLUP、HAVING、SELECT、DISTINCT、ORDER BY、TOPの順です。
2020.10.29
SQL Server

SQLServerで外部キー(FOREIGN KEY)の一覧情報を取得する方法

SQLServerで外部キー(FOREIGN KEY)の情報を取得するSQLはsys.foreign_keysを元に検索すれば可能になります。
SQL Server

SQLServerで一時的に外部キー(foreign key)制約を無効にする方法

SQLServerでテーブルに設定されている外部キー(foreign key)を一時的に無効にしたり有効にしたりするにはALTER TABLE文を使って行います。
SQL Server

SQLServerでVIEWの作り方

SQLServerではVIEWと呼ばれる仮想的なテーブルを作成することができます。VIEWの作成方法を解説します。
SQL Server

SQLServerに新規のデータベースを作る方法

SQLServerに新規のデータベースを作成するにはSQL Server Management Studio(SSMS)を利用すると簡単に作成できます。
SQLite

sqliteでテーブルにカラムを追加する方法

sqliteに作成されたテーブルにカラムを追加したい場合は「ALTER TABLE」文に「ADD COLUMN」を指定して追加します。
SQLite

sqlite3で1行のINSERT文で複数のデータを挿入する方法

sqlite3で1行のINSERT文で複数のデータをPythonで同時に挿入するにはexecutemany()メソッドを利用します。
SQLite

sqlite3.exeでSELECT文の結果にカラム名をヘッダーとして表示する方法

sqlite3.exeでSELECT文の結果にカラム名をヘッダーとして表示するには「.headers」コマンドを利用すると実現できます。その「.headers」コマンドの利用方法と設定内容を確認する「.show」コマンドの使い方を解説します。
SQLite

SQLite3のコマンドプロンプトから操作するツール「sqlite3.exe」をダウンロードする方法

SQLite3のデータベースをWindowsのコマンドプロンプトから操作する「sqlite3.exe」は公式サイトからダウンロードしてPATHをとおすだけで利用できます。開発時には非常に役に立つのでダウンロードしておきましょう。
SQLite

SQLite3でテーブル存在チェックを行う方法

SQLite3でテーブル存在チェックを行うにはsqlite_master を指定したテーブル名で検索するとわかります。その具体的なSQLを解説します。
2021.03.26
SQL Server

SQLの基本-INSERT,UPDATE,SELECT,DELETE-

アプリケーションでSQLを利用してデータベースのデータを扱う上で重要な構文が「INSERT,UPDATE,SELECT,DELETE」の4つです。その基本を解説します。
2020.01.29
SQL Server

SQLServerのLEN関数は文字列の後ろの空白は無視する

SQLserveのLEN関数は文字数をカウントしてくれるが後ろの空白は無視される。
2020.01.29
MySQL

MySQLでカラムの値がNULLかどうか判定するにはIFNULLを利用する

MySQLでカラムの値がNULLかどうか判定するには「IFNULL」関数を利用します。
2021.03.04
MySQL

MySQLで当月のカレンダーを作成する方法

MySQLで当月のカレンダーを作成するSQLです。当月の末日を求めて、それを利用してカレンダーを作成します。
2021.03.04
スポンサーリンク
タイトルとURLをコピーしました