-
JavaからMySQLデータベースを作成する方法【サンプルコード付き】
はじめにこの記事では、JavaのJDBC(Java Database Connectivity)を使って、MySQLに新しいデータベースを作成する方法を解説します。ここでは「Customer_Tracker_Database」という名前のデータベースを実際に作成してみます。データベースの作成は、通常のSQLクエリと同じく CREATE DATABASE ステートメントを使用しますが、Javaから実行する場合は Statement オブジェクトの executeUpdate() メソッドを利用します。必要な準備コードを実行する前に、以下の準備が必要です。MySQLサーバーがローカル環境で起動して
-
MySQLで空白行やNULLの行を削除する方法【DELETE文の使い方】
MySQLでテーブル内の空白行を削除したい場合は、DELETEコマンドを使用します。この記事では、空白(空文字列)の行だけでなく、NULLが格納された行もまとめて削除する方法を、実際のSQL例とともにわかりやすく解説します。基本構文空白行およびNULL行を削除するための基本構文は以下の通りです。delete from yourTableName where yourColumnName= OR yourColumnName IS NULL;上記の構文では、yourColumnNameが空文字列()である行と、NULLである行の両方が削除されます。OR条件を使うことで、どちらのケースにも対応でき
-
MySQLで既存の値に+1を加算する方法|UPDATE文の基本と実例
MySQLでは、UPDATE文を使うことで、テーブル内の既存の数値に簡単に+1を加算できます。この記事では、実際にテーブルを作成し、データを挿入してから、既存の値に1を足す手順を具体例とともに解説します。サンプルテーブルの作成まずは動作確認用に、int型のカラムを持つシンプルなテーブルを作成しましょう。mysql> create table Add1ToExistingValue -> ( -> Value int -> ); Query OK, 0 rows affected (0.56 sec)テストデータの挿入次に、INSERTコマンドを使
-
ALTERコマンドでMySQLテーブルのAUTO_INCREMENT初期値を設定する方法
MySQLのテーブルで自動インクリメント(AUTO_INCREMENT)の初期値を設定するには、ALTERコマンドを使用します。設定は大きく分けて2つのステップで行います。 手順1:カラムにAUTO_INCREMENT属性を付与する まず、対象のカラムに対してNOT NULL制約とAUTO_INCREMENT、PRIMARY KEYを設定し、インデックスを追加します。以下の構文を使用します。 alter table テーブル名 modify カラム名 int NOT NULL AUTO_INCREMENT PRIMARY KEY, add index(カラム名); 手順2:AUTO_INCRE
-
MySQLサーバーを再起動する方法をわかりやすく解説
MySQLサーバーの再起動は、restartコマンドを使うことで簡単に行えます。この記事では、実際のコマンド例とともに、再起動中および再起動後のサーバーの挙動について詳しく解説します。 MySQLのバージョンを確認する まず、現在稼働しているMySQLのバージョンを確認しておきましょう。次のクエリを実行します。 SELECT version(); restartコマンドでMySQLサーバーを再起動する 構文は非常にシンプルで、以下のようにrestartと入力するだけです。 restart それでは、実際に上記のコマンドを実行して、MySQLサーバーを再起動してみましょう。 mysql>
-
MySQLのGREATEST()関数で3つの異なる列から最大値を取得する方法
はじめにMySQLで3つの異なる列の中から最大値を取得したい場合には、GREATEST()関数を使用します。この関数は、引数として渡された複数の値の中から最も大きい値を1つ返してくれる便利な関数です。GREATEST()関数の基本構文基本的な構文は以下の通りです。SELECT GREATEST(カラム名1, カラム名2, カラム名3) AS エイリアス名 FROM テーブル名;サンプルテーブルの作成それでは、実際に動きを確認してみましょう。まずは検証用のテーブルを作成します。mysql> create table MaxOfThreeColumnsDemo &nbs
-
MySQLで時刻をHH:MM形式で取得する方法
MySQLで時刻をHH:MM形式で取得する方法MySQLから時刻を「HH:MM」形式で取得したい場合は、DATE_FORMAT()関数を使用します。この関数は日付や時刻の値を任意の書式に変換できる便利な関数です。実際の使い方を理解するために、まずサンプルとなるテーブルを作成しましょう。1. テーブルの作成以下のクエリを実行して、ユーザーの到着時刻を記録するテーブルを作成します。mysql> create table retrieveTimeDemo -> ( -> UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-
MySQLでテーブルの値を置き換える方法|CASE文を使ったUPDATEの実例
MySQLのテーブル内の値を別の値に置き換えたい場合、CASE文を使ったUPDATE文を利用するのが効果的です。本記事では、サンプルテーブルを実際に作成しながら、値を入れ替える具体的な手順を段階的に解説していきます。 1. サンプルテーブルを作成する まず、動作確認用のテーブルを作成します。以下がテーブル作成用のクエリです。 mysql> create table replaceValueDemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMA
-
MySQLで列をvarchar(30)からvarchar(100)に変更する方法
MySQLで既存の列のデータ型やサイズを変更したい場合は、ALTER TABLEコマンドとMODIFY句を組み合わせて使用します。この記事では、varchar(30)として定義された列をvarchar(100)に変更する具体的な手順を、サンプルコードとともにわかりやすく解説します。基本構文列の定義を変更するための基本的な構文は以下の通りです。ALTER TABLE テーブル名 MODIFY COLUMN 列名 varchar(100) NOT NULL;この構文では、対象のテーブル名と変更したい列名を指定し、新しいデータ型や制約(NOT NULLなど)を記述します。既存のデータ型を上書きする形
-
MySQLで特定の月のレコードをすべて抽出する方法:monthname()とmonth()関数の使い方
MySQLで特定の月のデータを取得する基本MySQLである特定の月に該当するレコードだけを取り出したい場合、monthname()関数またはmonth()関数を使用します。日付カラムに対してこれらの関数をWHERE句で条件指定することで、年に関係なく同じ月のエントリをまとめて抽出できます。基本構文select *from テーブル名 where monthname(カラム名)=月名;月名の代わりに月番号を使いたい場合は、次のように記述します。select *from テーブル名 where month(カラム名)=月番号;サンプルテーブルの作成実際に動作を確認するため、出荷日(Shipping
-
【MySQL入門】DISTINCTを使ってテーブルの重複値を1回だけ取得する方法
重複する値を1回だけ選択するには?テーブル内に同じ値が何度も繰り返し格納されている場合、DISTINCTキーワードを使用することで、重複を排除した状態で値を1回だけ取得できます。基本構文構文は以下のとおりです。SELECT DISTINCT yourColumnName FROM yourTableName;それでは、実際にテーブルを作成して動作を確認してみましょう。サンプルテーブルの作成まず、以下のクエリでテーブルを作成します。mysql> create table displayOnlyDistinctValue -> ( -> UserId int NO
-
MySQLでテーブルの後ろから2番目の行を取得する方法
MySQLでテーブルの後ろから2番目(末尾から2番目)の行を取得するには、ORDER BY句とLIMIT句を組み合わせて使用します。降順に並べ替えたうえで、先頭の1行をスキップし、その次の1行だけを取り出すのがポイントです。基本構文SELECT * FROM テーブル名 ORDER BY カラム名 DESC LIMIT 1,1;LIMITの「1,1」は、最初の数字がスキップする行数(オフセット)、次の数字が取得する行数を意味します。つまり、降順に並べた結果の2行目=元のテーブルの後ろから2番目の行が取得できます。サンプルテーブルの作成実際に動きを確認するため、まずはテーブルを作成しましょう。m
-
COALESCE()関数を使ってMySQLのNULLを0に変換する方法
COALESCE()関数とは?NULLを0に変換できる理由 MySQLでは、COALESCE()関数を使うことで、NULL値を0に変換できます。COALESCE()は、引数の中から最初のNULL以外の値を返すという性質を持つ関数です。そのため、第1引数に対象のカラム、第2引数に代替値の0を指定すれば、NULLだった場合だけ0が返される仕組みになります。 基本構文は以下の通りです。 SELECT COALESCE(yourColumnName, 0) AS anyAliasName FROM yourTableName; それでは、実際にサンプルテーブルを作成しながら動作を確認していきましょう。
-
MySQLで分単位のINT数値をTIME型に変換する方法(SEC_TO_TIME関数の使い方)
MySQLでは、分単位のINT型の数値をTIME型に変換したい場面があります。例えば、作業時間や経過時間を「分数」として保存しているデータを、時刻形式(HH:MM:SS)で表示したいケースなどが該当します。このような変換を行うには、SEC_TO_TIME() 関数を使用します。SEC_TO_TIME() は秒数をTIME型に変換する関数なので、分の値に60を掛けて秒に変換してから渡すのがポイントです。基本構文SELECT SEC_TO_TIME(カラム名 * 60) AS `別名` FROM テーブル名;サンプルテーブルの作成それでは、実際に動作を確認してみましょう。まずはテスト用のテーブルを
-
MySQLで「.」を千の位の区切り文字、「,」を小数点の区切り文字として数値をフォーマットする方法
MySQLでは、FORMAT()関数を使うことで、数値の区切り文字を柔軟に指定できます。この方法はMySQL 5.5以降のバージョンで利用可能です。本記事では、バージョン8.0.12を使用して動作を確認していきます。mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.12 | +-----------+ 1 row in set (0.00 sec)FORMAT()関数の基本構文構文は以下の通りです。ポイントは第3引数にロケール「de_DE」(ドイツ語圏のロケール)を指定することです。ドイ
-
MySQLで最大IDの行を条件付きで更新するUPDATEクエリの書き方
MySQL UPDATEクエリで最大IDのレコードを更新する方法MySQLでは、特定のカラムが指定した値と一致する行の中から、最も大きなIDを持つレコードだけを更新したいケースがあります。このような場合は、ORDER BY句とLIMIT 1を組み合わせることで実現できます。基本構文update yourTableName set yourColumnName1=yourValue where yourColumnName2=yourValue order by yourIdColumnName DESC LIMIT 1;この構文では、WHERE句で対象となる行を絞り込み、ORDER BY ..
-
【MySQL】ストアドプロシージャでLIMIT句に変数を使用する方法
はじめに MySQLのストアドプロシージャでは、LIMIT句に直接パラメータや変数を指定することができません。そのため、プリペアドステートメント(PREPARE/EXECUTE)を組み合わせて、値を動的に渡す必要があります。 本記事では、サンプルテーブルの作成からデータ挿入、そしてLIMIT句に変数を利用できるストアドプロシージャの実装・実行までの手順を、実際のコード例とともにわかりやすく解説します。 1. サンプルテーブルの作成 まず、以下のCREATE TABLE文でテーブルを作成します。 mysql> create table LimitWithStoredProcedure
-
MySQLでランダムなレコードを取得する方法:RAND()関数の使い方を徹底解説
MySQLのテーブルからランダムなレコードを取得したい場合、rand()関数を使うのが最も簡単な方法です。ORDER BY rand()とLIMITを組み合わせることで、テーブル内の行をランダムに並べ替え、その中から任意の件数だけ抽出できます。基本構文ランダムな結果を1件だけ取得する場合の基本構文は以下の通りです。select *from yourTableName order by rand() limit 1;この構文では、まずrand()関数によって全行がランダムな順序で並べ替えられ、その後limit 1によって先頭の1行だけが返されます。limitの数値を変更すれば、複数件のランダムな
-
MySQLのストアドプロシージャでループ処理を行う方法【REPEAT文の使い方】
MySQLストアドプロシージャでのループ処理の基本 MySQLのストアドプロシージャ内で繰り返し処理を実行したい場合は、REPEAT文を使用します。REPEAT文は「後判定ループ」と呼ばれる形式で、条件の判定を処理の最後に行うため、最低でも1回は必ず実行されるのが特徴です。 ここでは、1から指定した値までの数値を順番に出力するサンプルプロシージャを作成し、その動きを確認していきます。 ストアドプロシージャの作成手順 まず、DELIMITERコマンドで区切り文字を変更してから、プロシージャを定義します。 mysql> DELIMITER // mysql> CREATE PROCE
-
MySQLでINSERT時に正の値を負の値へ変換する方法をわかりやすく解説
MySQLで挿入時に正の値を負の値に変換するには? MySQLでは、データを挿入する際に-1を掛け算することで、正の値を簡単に負の値へ変換できます。本記事では、実際のテーブル作成からデータ挿入、変換処理までの手順をサンプルコード付きで解説します。 ステップ1:元となるテーブルを作成する まず、変換元のデータを格納するテーブルを作成しましょう。 mysql> create table recordsDemo -> ( -> UserId int, -> Value int -> ); Query OK, 0 rows affecte