データベース

データベース

暗号化していないのに、SQLCipher暗号化のポップアップが表示された時に確認すること

​DB Browser for SQLite を使用中に、暗号化していないSQLiteデータベースを開こうとした際、SQLCipherのパスワード入力画面が表示されることがありました。この問題の原因と解決策として調べたことをメモしておきます...
データベース

DB Browser for SQLiteでパスワードを求められた時に試してみたこと

DB Browser for SQLite を使用中に、暗号化していないSQLiteデータベースを開こうとした際、SQLCipherのパスワード入力画面が表示されることがあります。この問題の原因と解決策を以下にまとめました。​問題の概要暗号...
データベース

SQLiteで重複データを削除する方法

SQLiteでデータを扱う際、特定のカラムの値が重複しているレコードを削除したいケースがよくあります。今回は、usersテーブルを例にして、emailカラムの値が重複しているレコードを削除する方法をメモします。SQLiteで重複データを検索...
データベース

SQLiteで最大値を取得しNULLを0にする方法

SQLiteで特定のカラムの最大値を取得する際、NULLが含まれていると結果がNULLになる可能性があります。例えば、incrementカラムの最大値を取得するには以下のSQLを使用できます。SELECT MAX(increment) FR...
データベース

同じ値が入っているカラムを抽出するSQL

後からデータベースのテーブルに対してPKを設定しようとしたところ、同じ値が入っていて設定できないという事象がありました。そこで、問題となるデータを抽出するために、同じ値が入っているカラムを抽出するSQLクエリの書き方について、Oracle、...
データベース

前方10文字が同じ値のカラムを取得するSQL

今回は、Oracle、MySQL、PostgreSQL、SQLiteそれぞれのDBMSで、前方10文字が同じ値のカラムを取得するSQLクエリの書き方についてメモしておきます。SQLの記載例oracleOracleデータベースでは、SUBST...
データベース

SQLのINSERT文で、シングルクォーテーション、ダブルクォーテーションをinsertする方法

SQLiteでINSERT文を使用してダブルクォーテーション(")を含む文字列を挿入するには、ダブルクォーテーションをエスケープする必要があります。SQLiteでは、文字列リテラルをシングルクォート(')で囲み、ダブルクォーテーション自体は...
データベース

SQLで合計や平均を計算する方法

データベース内のデータに対して合計や平均を計算する基本的な方法を、Oracle, MySQL, および PostgreSQL の3つのデータベースでどのように記述すべきかまとめてみたいと思います。SQLで実現する基本的な計算方法以下のSQL...
MySQL

SQLで漢字のカラムのみに絞り込む方法

SQLで特定の文字種類のみを絞り込む際は、正規表現や特定の文字範囲を利用します。そこで、いくつかのデータベースでのSQLの書き方を整理してみたいと思います。mysqlで漢字のカラムのみに絞り込むSQLSELECT * FROM テーブル名 ...
データベース

データベースのテーブル一覧を取得するSQL

テーブル名の一覧を取得したい仕様書と実態が乖離しているときや、なぜか用意していたSQL文がエラーになるとき、ありますよね。そんなときは、現在接続中のデータベースのテーブル名の一覧を知りたいものです。そこで接続したデータベースの、テーブル名一...