MySQL

 Computer >> コンピューター >  >> プログラミング >> MySQL
  1. MySQLでint型の数値を通貨形式に変換する方法|CONCAT()とFORMAT()関数の使い方

    MySQLでint型(整数)のカラムを通貨形式として表示したい場合、CONCAT()関数とFORMAT()関数を組み合わせることで簡単に実現できます。通貨記号付きで桁区切りされた見やすい形式に整形できるため、レポートや管理画面などでの表示に便利です。基本構文int型の値を通貨形式に変換する際の基本構文は以下の通りです。SELECT CONCAT(通貨記号, FORMAT(対象カラム名, 小数点以下の桁数)) AS 表示名 FROM テーブル名;FORMAT()関数は数値を3桁ごとのカンマ区切りに整形し、第2引数で小数点以下の桁数を指定します。さらにCONCAT()関数で通貨記号を先頭に連結する

  2. MySQLでIF関数を使った条件付きUPDATEは可能?基本から実例まで解説

    MySQLでは、IF関数やCASE式を使用することで、条件に応じたデータの更新(UPDATE)が可能です。本記事では、IF関数を使って特定の条件を満たすデータだけを更新する方法を、実際のSQL例とともにわかりやすく解説します。 1. サンプルテーブルの作成 まず、動作確認用のテーブルを作成します。以下のクエリを実行してください。 mysql> create table UpdateWithIfCondition -> ( -> BookId int, -> BookName varchar(200) -> ); Query OK,

  3. MySQLでブール型(BOOLEAN)フィールドを追加する方法を徹底解説

    MySQLには厳密な意味での「ブール型」は存在せず、BOOLやBOOLEANとして定義した場合でも、内部的にはすべてTINYINT(1)として扱われます。つまり、tinyint(1)、bool、booleanの3つは完全なシノニム(同義語)です。MySQLにおける真偽値の扱いMySQLでは、0が偽(false)、0以外の数値が真(true)として解釈されます。PHPと同様に、0以外の任意の数値もtrueとして扱われる点に注意しましょう。実務上は、可読性を高めるためにtrue/falseリテラルを使うか、規約として0と1のみを使用するのが一般的です。BOOL型カラムを持つテーブルを作成するそれで

  4. SQL ServerにMySQLのENUM型に相当する機能はある?代替方法を解説

    結論から言うと、SQL ServerにはMySQLのENUMデータ型と完全に同じ組み込みデータ型は存在しません。しかし、VARCHAR型とCHECK制約を組み合わせることで、ENUMとほぼ同等の機能を実現できます。MySQLにおけるENUM型の基本まず、MySQL(バージョン8.0.12で動作確認済み)でのENUM型の定義方法を見てみましょう。構文は以下の通りです。create table yourTableName ( yourColumnName enum(Value1,Value2,Value3,......N) default Value1 or Value2 or Value3,..

  5. MySQLでSELECT結果の値を置き換える方法|CASE式を使った変換テクニック

    MySQLでは、SELECT文で取得した数値(0や1など)を、そのまま表示する代わりに「true」「false」などの分かりやすい文字列に置き換えて出力できます。このような場合に活用できるのがCASE式です。 CASE式を使った置き換えの基本構文 基本となる構文は以下の通りです。条件に一致した場合は指定した値を返し、一致しない場合はELSE句の値を返します。 select yourColumnName1,yourColumnName2,...N, case when yourColumnName=1 then true else false end as anyVariableName fro

  6. MySQLユーザーにデータベースの全権限を付与する方法

    はじめにMySQLでは、新しく作成したユーザーに対して、特定のデータベースに関するすべての権限を簡単に付与できます。ここでは、「CREATE USER」コマンドによるユーザー作成から、「GRANT ALL PRIVILEGES」文を使った権限付与までの手順を解説します。手順1:ユーザーとパスワードを作成するまず、CREATEコマンドを使ってユーザーとパスワードを作成します。基本構文は以下の通りです。CREATE USER yourUserName@localhost IDENTIFIED BY yourPassword;手順2:データベースの全権限を付与する特定のデータベースに対するすべての権

  7. MySQLで特定カラムの最小値に一致するデータを取得する方法(MIN()関数の使い方)

    MySQLでは、あるカラムが最小値を持つ行を抽出したい場合、集計関数 MIN() をサブクエリと組み合わせて使うのが一般的です。この記事では、基本的な構文から実際のテーブルを使った動作確認まで、手順を追ってわかりやすく解説します。 基本構文 最小値に一致するデータを選択するには、以下のような構文を使用します。WHERE句の中でサブクエリとしてMIN()を呼び出し、その結果と比較するのがポイントです。 SELECT * FROM yourTableName WHERE yourColumnName = (SELECT MIN(yourColumnName) FROM yourTableName)

  8. MySQLでレコードが存在しない場合に合計値または0を取得する方法

    MySQLでレコードが存在しない場合に合計値または0を返す方法MySQLでは、集計関数SUM()をCOALESCE()の中で使用することで、レコードが存在する場合にはその合計値を返し、存在しない場合には0を返すことができます。COALESCE()は引数の中から最初のNULL以外の値を返す関数であるため、SUM()の結果がNULL(該当レコードなし)のときに、代わりの値として0を指定できるのです。基本となる構文は以下のとおりです。select COALESCE(sum(yourColumnName2), 0) AS anyVariableName from yourTableNamewhere

  9. MySQLで複数のカラムにまたがる重複データをチェックする方法

    MySQLでテーブル内の重複データを確認したい場合、GROUP BY句とHAVING句を組み合わせることで簡単に検出できます。この記事では、複数のカラムにまたがる重複レコードを見つける方法を、実際のSQL例とともにわかりやすく解説します。 重複チェックの基本構文 重複データを抽出するには、対象となるカラムでグループ化し、HAVING句で件数が1件より多いグループを絞り込みます。基本構文は以下の通りです。 SELECT カラム名1, カラム名2, ......N, COUNT(*) AS 任意の別名 FROM テーブル名 GROUP BY カラム名1, カラム名2 HAVING COUNT(*)

  10. MySQLで特定の列に同じ値が出現する回数をカウントする方法

    MySQLである列に同じ値が何回出現するかを調べたい場合、集計関数 COUNT() を GROUP BY 句と組み合わせて使うことで簡単に実現できます。基本構文SELECT yourColumnName, COUNT(*) AS anyVariableName FROM yourTableName GROUP BY yourColumnName;この構文では、指定した列の値ごとにレコードがグループ化され、それぞれの値が出現した回数がカウントされます。それでは、実際にテーブルを作成して動作を確認してみましょう。サンプルテーブルの作成まず、以下のクエリでテーブルを作成します。mysql> C

  11. MySQLでカラムの文字セットを設定・変更する方法

    MySQLでは、ALTER TABLE文とMODIFY句を組み合わせることで、特定のカラム単位で文字セット(キャラクタセット)を変更できます。ここでは、具体的な手順をサンプルコード付きで解説します。 基本構文 カラムの文字セットを設定する際の構文は以下のとおりです。 ALTER TABLE テーブル名 MODIFY カラム名 データ型 CHARACTER SET 文字セット名; 文字セット名には「utf8」や「utf8mb4」など、任意の名前を指定できます。なお、文字セットを変更すると、照合順序(COLLATE)もその文字セットのデフォルト値へ自動的に切り替わる点に注意してください。 サン

  12. MySQLのDELIMITER(区切り文字)を使ってストアドプロシージャを作成・実行する方法

    MySQLでは、CREATE PROCEDUREコマンドを使用することでストアドプロシージャを作成できます。ストアドプロシージャの中には複数のSQL文が含まれますが、そのまま定義すると文の区切りを示すセミコロン(;)がプロシージャ本体の途中で解釈されてしまいます。そこで、一時的に区切り文字を変更する必要があります。 基本的な構文 delimiter // CREATE PROCEDURE yourStoreProcedureName() BEGIN -- ここで変数を宣言します -- クエリ文を記述します END // delimiter ; ストアドプロシージャの作成例 上

  13. MySQLで列をソートする際に0を最後に表示させる方法

    はじめにMySQLでは、ORDER BY句を工夫して使うことで、列を昇順に並べ替えながら、値が0のレコードだけを最後に表示させることができます。ランキングや一覧表示などで「未設定のデータ(0)は後回しにしたい」というケースはよくありますが、本記事ではその具体的な方法をサンプルコードとともに解説します。基本的な構文0を最後に配置しながら列を並べ替えるには、以下の構文を使用します。select *from yourTableName order by yourFieldName = 0,yourFieldName;ポイントは「yourFieldName = 0」という比較式をORDER BYの第一

  14. MySQLの既存カラムにデータを追記する方法|CONCAT関数の使い方を解説

    MySQLでは、すでにデータが格納されているカラムに新しい文字列を追加(追記)したいケースがあります。例えば、姓だけが保存されているカラムに名前を後から付け足したい場合などです。そんなときに便利なのが、MySQLに組み込まれているCONCAT()関数です。CONCAT()関数を使ったデータ追記の基本構文CONCAT()関数を使えば、既存の値と追加したい値を連結できます。UPDATE文と組み合わせることで、カラム内のデータに文字列を追記できます。基本的な構文は以下のとおりです。UPDATE テーブル名SET カラム名 = CONCAT(カラム名, 追加する値);この構文では、元のカラムの値をその

  15. MySQLのFIELD()関数とは?ORDER BYと組み合わせた並べ替え方法を解説

    MySQLのFIELD()関数とはMySQLのFIELD()関数は、指定した値が値のリストの中で何番目(インデックス位置)に存在するかを返す関数です。この関数をORDER BY句と組み合わせることで、昇順・降順といった標準的な並べ替えではなく、自分で定義した独自の順序(カスタム順序)でレコードをソートできます。基本構文FIELD()関数を使った並べ替えの基本的な構文は以下の通りです。SELECT *FROM yourTableName order by field(yourColumnName,yourValue1,yourValue2,yourValue3,yourValue4,...

  16. テーブルのフィールド名(カラム名)を取得するSQLコマンドの使い方

    テーブルのフィールド名を返すSQLコマンドとはMySQLでテーブルのフィールド名(カラム名)を確認したい場合、主に2つの方法があります。ひとつは DESC コマンドを使う方法、もうひとつは information_schema.columns テーブルから column_name を取得する方法です。方法1:DESCコマンドを使用する最も手軽なのが DESC コマンドです。書式は以下の通りです。desc テーブル名;このコマンドを実行すると、フィールド名だけでなく、データ型、NULL許容、キー情報、デフォルト値なども合わせて表示されます。方法2:INFORMATION_SCHEMA.COLUM

  17. MySQLで別のDATETIMEフィールドに日時を挿入・更新する方法

    MySQLでは、UPDATE文とDATE_ADD()関数を組み合わせることで、既存のDATETIMEフィールドに別の日時を挿入(更新)することができます。本記事では、実際にテーブルを作成しながら、その手順をわかりやすく解説します。1. テーブルの作成まず、動作確認用のテーブルを作成しましょう。以下のクエリを実行して、「Id」「IssueDate(発行日)」「DueDate(期限日)」の3つのカラムを持つテーブルを定義します。mysql> create table AddDateTimeWithOther -> ( -> Id int, -> IssueDat

  18. 【MySQL】タイムスタンプを行に自動的に保存する2つの方法

    MySQLでは、レコードの作成日時(タイムスタンプ)を自動的に行へ保存できます。実現方法は主に以下の2つです。方法1:テーブル作成時にDEFAULT CURRENT_TIMESTAMPを指定する方法2:ALTER文を使って既存テーブルに列を後から追加する方法1:テーブル作成時にタイムスタンプを設定するテーブルを作成する際に、対象の列に対してdatetime default current_timestampを指定します。基本の構文は次のとおりです。CREATE TABLE yourTableName(yourDateTimeColumnName datetime default current

  19. MySQLでユーザーとホストの一覧を取得する方法をわかりやすく解説

    MySQLのユーザーアカウント情報は、mysql.userテーブルに格納されています。このテーブルを参照することで、登録されているすべてのユーザーアカウントと、それぞれが接続を許可されているホストの一覧を簡単に確認できます。 MySQLユーザーの一覧を取得する まず、mysql.userテーブルからuserカラムを選択して、MySQLに登録されているユーザーアカウントの一覧を取得します。クエリは以下のとおりです。 mysql> SELECT user FROM mysql.user; 実行すると、以下のようにすべてのユーザーが表示されます。 +------------------+ |

  20. MySQLでテキストフィールドの先頭40文字を取得する方法|LEFT関数の使い方

    MySQLでテキストフィールドから先頭40文字だけを取り出したい場合、LEFT()関数を使用すると簡単に実現できます。この関数は、指定した文字列の左側(先頭)から指定した文字数分だけを抜き出すものです。LEFT()関数の基本構文SELECT LEFT(カラム名, 40) AS 任意の別名 FROM テーブル名;それでは、実際にサンプルを通して動作を確認していきましょう。サンプルテーブルの作成まずは、テキスト型カラムを持つテーブルを作成します。mysql> CREATE TABLE retrieveFirst40Characters-> (-> AllWords text-&g

Total 4564 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:152/229  20-コンピューター/Page Goto:1 146 147 148 149 150 151 152 153 154 155 156 157 158