-
MySQLで日付から年を抽出する方法|YEAR()関数の使い方を徹底解説
MySQLで日付データから「年」だけを取り出したい場合は、組み込み関数の YEAR() を使うのが最も簡単です。この記事では、現在の日付から年を取得する基本の方法に加えて、VARCHAR型のカラムに保存された日付文字列から年を抽出する応用テクニックまで、実際のSQL文と実行結果をもとにわかりやすく解説します。 YEAR()関数で現在の年を取得する まずは基本となる方法です。CURDATE() 関数で現在の日付を取得し、それを YEAR() に渡すことで、現在の年だけを抽出できます。 mysql> SELECT YEAR(curdate()) as OnlyYearFromCurrent
-
MySQLでテーブル間の行を移動する方法|INSERT INTO SELECT文の使い方を解説
MySQLで行を別テーブルに移動する基本MySQLでは、INSERT INTO SELECT文を使うことで、あるテーブルから別のテーブルへ行(レコード)を簡単に移動できます。この方法は、データの整理やアーカイブ処理など、さまざまな場面で役立ちます。基本的な構文は以下のとおりです。INSERT INTO 移動先テーブル名 SELECT * FROM 元テーブル名 WHERE 条件;WHERE句で条件を指定すれば特定の行だけを移動でき、条件を省略すればすべての行を移動できます。サンプルテーブルの作成まず、実際に動作を確認するためのテーブルを作成しましょう。以下が最初のテーブル「StudentTab
-
MySQLでDateTime型の値を文字列に変換する方法【DATE_FORMAT関数の使い方】
MySQLでDateTime型の値を文字列として扱いたい場合、DATE_FORMAT() 関数を使うのが最も一般的な方法です。この関数を使えば、日時データを自由なフォーマットの文字列に変換して取得できます。DATE_FORMAT() の基本構文SELECT DATE_FORMAT(カラム名, %d %m %y) AS 別名 FROM テーブル名;第2引数にはフォーマット指定子を渡します。「%d」が日、「%m」が月、「%y」が西暦下2桁を表します。他にも「%Y」(4桁の年)や「%H:%i:%s」(時刻)など、さまざまな指定子が用意されています。サンプルテーブルを作成する実際に動きを確認するため、
-
MySQLで文字列を日付に変換する方法|STR_TO_DATE関数の使い方を解説
MySQLで文字列を日付に変換するにはMySQLで文字列を日付(DATE型)に変換するには、STR_TO_DATE()関数を使用します。この関数は、指定した書式に従って文字列を解析し、日付値として返してくれます。STR_TO_DATE()の基本構文SELECT STR_TO_DATE(文字列, %d,%m,%Y) AS 任意の変数名;第1引数に変換したい文字列を、第2引数にその文字列の並び順を示すフォーマット指定子を渡します。主なフォーマット指定子は以下のとおりです。%d … 日(01〜31)%m … 月(01〜12)%Y … 4桁の年%M … 月の英語名(November、December
-
MySQLでテーブルの作成日時を取得する方法【information_schema活用】
MySQLテーブルの作成日時を確認する基本の方法MySQLでテーブルがいつ作成されたのか(作成日時)を調べたい場合は、INFORMATION_SCHEMAを利用します。INFORMATION_SCHEMAは、データベースやテーブルなどのメタ情報を格納しているシステムデータベースであり、そこからcreate_timeカラムを参照することで、テーブルの作成日時を簡単に取得できます。基本的な構文は以下のとおりです。SELECT create_time FROM INFORMATION_SCHEMA.TABLESWHERE table_schema = yourDatabaseNameAND tabl
-
MySQL – 1つのクエリでデータベース内の全テーブルの行数を一括取得する方法
MySQLでは、INFORMATION_SCHEMA.TABLES を参照することで、1つのクエリだけでデータベース内のすべてのテーブルの行数を一括して取得できます。テーブルごとに個別に SELECT COUNT(*) を実行する必要はありません。基本の構文集計カラム TABLE_ROWS を利用し、対象のデータベース名を TABLE_SCHEMA 条件で指定します。SELECT TABLE_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = yourDatabaseName;実行例ここでは「business
-
MySQLでDECIMAL型をINT型にキャストする方法
MySQLのFLOOR()関数を使ってDECIMALをINTに変換するMySQLでは、FLOOR()関数を使用することで、DECIMAL(10進数)型の値をINT(整数)型へ簡単に変換できます。FLOOR()は小数点以下を切り捨てて整数値を返す関数です。基本構文構文は以下の通りです。SELECT FLOOR(カラム名) FROM テーブル名 WHERE 条件;それでは、実際にサンプルテーブルを作成して動作を確認してみましょう。サンプルテーブルの作成まず、以下のクエリでテーブルを作成します。Amountカラムは小数第1位まで格納できるDECIMAL(3,1)型として定義しています。mysql&g
-
MySQLのデータベースファイルはどこに保存される?保存場所の確認方法
MySQLがデータベースファイルを実際にどのディレクトリへ保存しているのかを確認したい場合は、システム変数 @@datadir を参照するのが最も簡単な方法です。この記事では、その確認手順と、取得したパスにデータベースが正しく存在することを検証する方法までを解説します。 @@datadirでデータディレクトリを確認する まず、以下のようにSELECT文で@@datadirの値を取得します。 mysql> SELECT @@datadir; 実行結果の例 +---------------------------------------------+ | @@datadir
-
JavaでMySQLデータベースにデータを挿入する方法をわかりやすく解説
JavaからMySQLデータベースにデータを挿入するには、SQLのINSERTコマンドを使用します。基本的な構文は以下の通りです。 INSERT INTO テーブル名(カラム名1, カラム名2, ......カラム名N) VALUES(値1, 値2, ......値N); ここからは、Javaプログラムを使って実際にMySQLデータベースへレコードを挿入する手順を、順を追って見ていきましょう。 ステップ1:MySQLでテーブルを作成する まず、データの挿入先となるテーブルをMySQL側に作成します。以下のクエリを実行してください。 mysql> create table Insert
-
MySQLで日時(datetime)フィールドに日数を追加する方法:DATE_ADD()関数の使い方
MySQLで日時フィールドに日を追加するには? MySQLの datetime 型の値に日数を加算したい場合は、DATE_ADD() 関数を使用します。この関数を使えば、指定した日時に任意の日数・月数・年数などを簡単に追加できます。 基本構文 DATE_ADD() 関数の基本的な構文は以下のとおりです。 SELECT DATE_ADD(カラム名, INTERVAL 追加する日数 DAY) AS 別名 FROM テーブル名; 第2引数には INTERVAL キーワードを使い、追加したい単位(DAY、MONTH、YEARなど)と値を指定します。 サンプルテーブルを作成する まずは動作確認用のテ
-
MySQLでテーブル列のデータ型を取得する方法|information_schema.columnsの使い方
MySQLでは、information_schema.columns テーブルを参照することで、指定したテーブルの各列(カラム)がどのデータ型で定義されているかを簡単に確認できます。データ型を取得するための基本構文以下のSQLが基本となる構文です。SELECT DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema = yourDatabaseName AND table_name = yourTableName;table_schema にデータベース名、table_name に対象のテーブル名を指定して実行します。サンプ
-
MySQLで列の値に先頭ゼロを追加する方法!LPAD()関数の使い方を実例付きで解説
MySQLで列(カラム)の値の先頭にゼロ(先行ゼロ)を追加したい場合は、LPAD()関数を使用します。LPAD()は、指定した文字列が目標の長さになるまで左側に任意の文字を埋め込む(パディングする)関数です。 LPAD()関数の基本構文 構文は以下のとおりです。 select lpad(yourColumnName, lengthofColumnValue+1, 0) from yourTableName; 各引数の意味は次のとおりです。 第1引数:対象となるカラム名または文字列 第2引数:結果として得られる文字列の合計の長さ 第3引数:左側に埋め込む文字(ここでは「0」) なお、元の文字
-
MySQLのストレージエンジンとは?種類と確認方法をわかりやすく解説
ストレージエンジンとは、データベース管理システム(DBMS)がデータベース内のデータを作成・読み取り・更新する際に使用するソフトウェアモジュールのことです。MySQLの現在のバージョンでは、InnoDBがデフォルトのストレージエンジンとして採用されています。 利用可能なストレージエンジンを確認する方法 MySQLで利用できるストレージエンジンの一覧を確認するには、SHOWコマンドを使用します。以下のクエリを実行してください。 mysql> show engines; 実行結果の例 +--------------------+---------+----------------------
-
MySQLで三項条件演算子を実装するには?IF()関数の使い方を解説
MySQLで三項条件演算子を実装する方法三項条件演算子は、C、C++、Javaなどのプログラミング言語で「?:」という形式で表される演算子です。基本的な構文は以下の通りです。(条件式) ? 文1 : 文2;この構文では、条件式がtrue(真)の場合に文1が評価され、false(偽)の場合に文2が評価されます。しかし、MySQLではこの構文をそのまま使用することはできません。代わりに、MySQLが提供するIF()関数を使うことで、同じ目的を簡単に実現できます。IF()関数の基本構文IF(条件式, 真の場合の値, 偽の場合の値)実行例ケース1:条件が偽(false)になる場合mysql> s
-
MySQLで生年月日から年齢を計算する方法
MySQLでは、DATE_FORMAT()関数を使うことで、生年月日から現在の年齢を簡単に計算できます。まずnow()関数で現在の日時を取得し、その差分をもとに年齢を求めます。 基本構文 年齢を計算するための基本的な構文は以下の通りです。 SELECT DATE_FORMAT(FROM_DAYS(DATEDIFF(now(), yourDateofbirth)), %Y) + 0 AS anyVariableName; この構文では、yourDateofbirthの部分を実際の生年月日に置き換えて使用します。DATEDIFF()で現在日時と生年月日の差(日数)を求め、FROM_DAYS()で日
-
MySQLでストアドプロシージャ・関数の定義を確認する方法
MySQLでは、SHOWコマンドを使うことで、登録済みのストアドプロシージャやストアドファンクション(関数)の定義内容を簡単に確認できます。この記事では、基本的な構文から実際の実行例まで、順を追って解説します。 ストアドプロシージャの定義を表示する構文 ストアドプロシージャの定義を表示するには、以下の構文を使用します。 SHOW CREATE PROCEDURE プロシージャ名; 実際に試してみよう:プロシージャの作成例 構文の動きを理解するために、まずはサンプルとなるストアドプロシージャを作成してみましょう。 mysql> delimiter // mysql> create
-
MySQLで過去数日間の日付をSELECTして取得する方法
MySQLで現在の日付から数日前の日付を取得したい場合、DATE_ADD()関数を使用します。基本的な構文は以下の通りです。select date_add(curdate(),interval - 任意の整数値 day);また、MySQLのDATE_SUB()関数を使っても同様の結果が得られます。select date_sub(curdate(),interval 任意の整数値 day);さらに、以下のようにINTERVAL演算子とマイナス記号を組み合わせた、より簡潔な構文も利用できます。select curdate() - interval 任意の整数値 day;それでは、上記3つの構文それ
-
MySQLでSELECT INTOを実現する方法|CREATE TABLE SELECTコマンドの使い方を解説
MySQLにおけるSELECT INTOの基本MySQLでは、他のデータベース(SQL Serverなど)で利用できる「SELECT INTO」構文がそのままサポートされていません。その代わりに、CREATE TABLE ... SELECT コマンドを使うことで、同じようにテーブルを作成しながらデータをコピーできます。基本的な構文は以下のとおりです。CREATE TABLE yourTableName SELECT * FROM yourOriginalTableName;この記事では、実際にサンプルテーブルを作成し、データを別のテーブルへコピーする手順を順番に解説します。1. 元となるテー
-
MySQLサーバーのポート番号とは?デフォルトポート3306の確認方法
MySQLをシステムにインストールすると、デフォルトのポート番号として「3306」が割り当てられます。この番号は、クライアントがMySQLサーバーに接続する際に使用される標準的なポートです。MySQLサーバーのポート番号を確認する方法現在のMySQLサーバーが使用しているポート番号を調べるには、SHOW VARIABLESコマンドを使用します。以下のクエリを実行してください。mysql> SHOW VARIABLES WHERE Variable_Name = port;実行結果の例上記のクエリを実行すると、次のような出力が得られます。+---------------+-------+
-
MySQLテーブルのデフォルト文字セットを変更する方法【実行例付き】
MySQLでテーブルのデフォルト文字セットを変更するには、ALTER TABLE文とCONVERT TO句を組み合わせます。基本的な構文は以下の通りです。ALTER TABLE テーブル名 CONVERT TO CHARACTER SET 文字セット名;サンプルテーブルの作成まずは動作確認用に、シンプルなテーブルを作成します。以下のクエリを実行してください。mysql> create table CharsetDemo -> ( -> Id int, -> Name varchar(200), -> Age int ->