MySQL

 Computer >> コンピューター >  >> プログラミング >> MySQL
  1. MySQLで今日の日付と一致するレコードを取得する方法(CURDATE()の使い方)

    MySQLで「今日の日付」と一致するデータを取得したい場合、組み込み関数 CURDATE() を使用します。CURDATE() は現在の日付のみを返し、時刻は含みません。この関数を使うことで、同じ日のレコードだけを簡単に抽出できます。基本構文SELECT yourColumnName1, yourColumnName2, ......, yourColumnNameN, DATE_FORMAT(yourDateColumnName, %Y-%m-%d) FROM yourTableName WHERE DATE(yourDateColumnName) = CURDATE();ポイ

  2. MySQLでスペースより前の文字列を抽出する方法(LEFT関数とLOCATE関数)

    MySQLでカラム内のスペースより前にある文字をすべて取得したい場合は、LEFT()関数とLOCATE()関数を組み合わせて使用します。まずは基本となる構文を確認しておきましょう。SELECT LEFT(yourColumnName, LOCATE( , yourColumnName) - 1) AS anyVariableName FROM yourTableName;LEFT関数とLOCATE関数の仕組みLEFT()関数は、文字列の左端から指定した文字数分を取得する関数です。一方、LOCATE()関数は、指定した文字(ここでは半角スペース)が文字列内で最初に出現する位置を返します。つまり、

  3. MySQLの「<>」演算子とは?意味と使い方を実例付きで解説

    MySQLにおける「<>」演算子の意味 MySQLで使われる記号「<>」は、「等しくない」ことを判定する比較演算子であり、おなじみの「!=」(NOT EQUAL)演算子とまったく同じ働きをします。どちらも結果はブール値としてtinyint(1)型で返され、条件が成立すれば1、成立しなければ0となります。 ケース1:「!=」演算子を使用する場合 まずは「!=」演算子を使ったシンプルな例です。次のクエリを実行してみましょう。 mysql> select 3!=5; 実行結果は以下の通りです。 +------+ | 3!=5 | +------+ | 1 | +-

  4. MySQLでAUTO_INCREMENT(自動インクリメント)の開始値を変更する方法

    MySQLのAUTO_INCREMENT開始値を任意の数値に設定するMySQLでは、AUTO_INCREMENT(自動インクリメント)カウンターはデフォルトで1から始まります。しかし、テーブル設計やデータ移行の都合上、特定の数値から採番を開始したいケースは少なくありません。そのような場合は、ALTER TABLE文を使って開始値を自由に変更できます。基本構文ALTER TABLE テーブル名 auto_increment = 開始したい整数値;この構文を使えば、既存のテーブルの自動インクリメント開始値を任意の整数に設定できます。実際に試してみようまず、動作を確認するためのサンプルテーブルを作成

  5. MySQLで既存テーブルの任意の位置にカラムを追加する方法(AFTER句の使い方)

    MySQLでは、既存のテーブルに対して特定の位置に新しいカラムを追加したい場合があります。デフォルトでは、ALTER TABLE文によるカラム追加はテーブルの末尾に配置されますが、AFTER句を使うことで、指定した既存カラムの直後に新しいカラムを挿入できます。基本構文特定の位置にカラムを追加するには、以下のような構文を使用します。ALTER TABLE テーブル名 ADD COLUMN カラム名 データ型 AFTER 既存のカラム名;サンプルテーブルの作成それでは、実際に構文を理解するために、まずテーブルを作成してみましょう。テーブルを作成するクエリは次のとおりです。mysql> cre

  6. MySQLでDATETIME型からDATE型へ変換する方法:CAST()関数の使い方

    MySQLでは、CAST()関数を使うことで、DATETIME型(日時)の値をDATE型(日付)に簡単に変換できます。時刻情報を取り除いて日付だけを抽出したい場合に便利なテクニックです。基本構文SELECT CAST(カラム名 AS DATE) AS 別名 FROM テーブル名;それでは、実際の例を使って動作を確認していきましょう。1. サンプルテーブルの作成まず、DATETIME型のカラムを持つテーブルを作成します。mysql> create table ConvertDateTimeToDate -> ( -> ArrivalDatetime datetime ->

  7. MySQLで「等しくない」演算子(<>)を使う方法をわかりやすく解説

    MySQLにおける「等しくない」演算子とはMySQLで「等しくない」という条件を指定したい場合は、<> 演算子を使用します。この演算子は、指定した値と一致しないレコードのみを抽出したい場合に非常に便利です。なお、MySQLでは != 演算子も同じ意味で使用できますが、SQL標準に準拠しているのは <> の方です。移植性を考慮すると、<> を使うことが推奨されます。基本構文「等しくない」条件を使ったSELECT文の基本構文は以下の通りです。SELECT * FROM テーブル名 WHERE カラム名 <> 値;実際に試してみよう:サンプルテーブルの作成それでは

  8. MySQLで文字列型の数値を正しくソートする方法(CAST関数の使い方)

    MySQLで文字列の数値をソートするには? MySQLでは、VARCHAR型など文字列として保存された数値をそのままORDER BYで並べ替えると、辞書順にソートされてしまい、意図した数値順になりません。このような場合には、CAST()関数を使って文字列を数値型に変換してからソートします。 基本構文 SELECT * FROM テーブル名 ORDER BY CAST(カラム名 AS DECIMAL(整数部の桁数, 小数点以下の桁数)) DESC; DECIMAL(M, D)の「M」は全体の桁数、「D」は小数点以下の桁数を指定します。 サンプルテーブルの作成 実際に動作を確認するため、まずテーブ

  9. MySQLで特定の日付のレコードを抽出するクエリの書き方

    MySQLで特定の日付のレコードを抽出するにはMySQLのDATE()関数を使用すると、DATETIME型のカラムから日付部分だけを取り出し、特定の日付のレコードを抽出することができます。基本の構文は以下のとおりです。SELECT *FROM yourTableName WHERE DATE(yourDateColumnName)=anyDate;DATE()関数は日時の値から時刻情報を取り除き、日付部分のみを返します。そのため、時刻が異なるレコードでも同じ日付であればまとめて抽出できるのがポイントです。サンプルテーブルの作成上記の構文を理解するために、まずテーブルを作成しましょう。テーブルを

  10. MySQLで特定の日時のレコードを抽出する方法|BETWEEN句の使い方

    MySQLで特定の日付・時刻に該当するレコードを抽出したい場合は、BETWEEN句を使うのが便利です。BETWEEN句は「ある値以上、ある値以下」という範囲条件を指定できる演算子で、datetime型のカラムに対して開始日時と終了日時を渡すことで、その範囲内のデータだけを簡単に取り出せます。BETWEEN句の基本構文select *from テーブル名 where 日時カラム between 開始日時 and 終了日時;サンプルテーブルの作成まず、動作を確認するためのテーブルを作成しましょう。以下のクエリを実行します。mysql> create table AllRecordsFroma

  11. MySQLのINT型カラムにNULL値を挿入する方法

    MySQLでは、INT型のカラムにNULL値を挿入することができます。ただし、そのカラムにNOT NULL制約が設定されていないという条件が必要です。基本の構文は以下のとおりです。 INSERT INTO yourTableName(yourColumnName) values(NULL); サンプルテーブルの作成 実際の動作を確認するため、まずテスト用のテーブルを作成しましょう。テーブル作成のクエリは次のとおりです。 mysql> create table InsertNullDemo -> ( -> StudentId int, -> StudentName var

  12. MySQLで月番号から月名を取得する方法|MONTHNAME関数の使い方を徹底解説

    MySQLのMONTHNAME()関数で月番号を月名に変換するMySQLでは、MONTHNAME()関数を使うことで、月番号(1〜12)から「January」「February」などの月名を簡単に取得できます。ただし、この関数は通常、日付型の値を引数として受け取るため、数値だけの月番号を扱う場合はSTR_TO_DATE()関数と組み合わせるのが定番の手法です。基本の構文SELECT MONTHNAME(STR_TO_DATE(カラム名, %m)) AS 別名 FROM テーブル名;STR_TO_DATE()関数にフォーマット指定子「%m」を渡すことで、月番号が日付値に変換され、さらにMONTH

  13. MySQLデータベースから制約の一覧を取得する方法

    MySQLデータベースに登録された制約(CONSTRAINT)の一覧を確認したい場面は少なくありません。テーブル設計の見直しや、主キー・外部キーの管理を行う際などに役立ちます。そのような場合には、information_schemaデータベースのtable_constraintsテーブルを参照することで、簡単に制約の一覧を取得できます。制約の一覧を取得する基本構文select * from information_schema.table_constraints where constraint_schema = yourDatabaseName;constraint_schemaに対象となる

  14. MySQLで各制約のフィールドを取得する方法|information_schema.key_column_usageの使い方

    複数のテーブルを持つデータベース「business」を例に考えてみましょう。各制約(CONSTRAINT)にどのフィールド(カラム)が含まれているのかを確認したい場合は、information_schema.key_column_usage テーブルを参照するのが便利です。 各制約のフィールドを取得するSQL 以下のクエリを実行すると、「business」スキーマに定義されたすべての制約と、それぞれに関連付けられたカラム情報を一覧で取得できます。 mysql> select * -> from information_schema.key_column_usage

  15. MySQLで1〜3のランダムな数値を使ってカラムを更新する方法

    1〜3の乱数でカラムを更新する基本構文 MySQLでカラムの値を1から3までの範囲内のランダムな数値に更新するには、RAND()関数とFLOOR()関数を組み合わせて使用します。基本となる構文は以下のとおりです。 UPDATE テーブル名 SET カラム名 = FLOOR(1 + RAND() * 3); RAND()は0以上1未満の浮動小数点数を返すため、これに3を掛けて1を加えることで「1以上4未満」の値が得られます。さらにFLOOR()で小数点以下を切り捨てることで、結果として1・2・3のいずれかの整数が生成されます。 動作確認用テーブルの作成 まず、実際に構文を試すためのサンプルテー

  16. MySQLで文字列を連結するには?CONCAT()関数の使い方を実例付きで解説

    MySQLでは、組み込み関数のCONCAT()を使うことで、複数の文字列やカラムの値を簡単に連結できます。SQL Serverの「+」やOracleの「||」のような連結演算子とは異なり、MySQLではCONCAT()関数を使用するのが標準的な方法です。CONCAT()関数の基本構文CONCAT()関数の基本的な書式は以下のとおりです。引数として渡したすべての値が順番に連結され、1つの文字列として返されます。SELECT CONCAT((, yourColumnName1, ,, yourColumnName2, ,, yourColumnName3, ...N, )) AS anyVaria

  17. MySQLでUNIONクエリの結果をカウントする方法を徹底解説

    MySQLでは、UNION(ユニオン)で結合した結果セットの件数を取得したい場面がよくあります。本記事では、サブクエリとCOUNT(*)関数を組み合わせて、UNIONの結果をカウントする方法を具体例とともに解説します。 UNIONの結果をカウントする基本構文 UNIONの結果件数を取得するには、UNIONクエリをFROM句の中にサブクエリとして記述し、その外側でCOUNT(*)を実行します。基本となる構文は以下の通りです。 SELECT COUNT(*) FROM ( SELECT yourColumName1 FROM yourTableName1 UNION S

  18. MySQLで異なる行に存在する複数の条件を満たす値を選択する方法

    MySQLでは、IN()とGROUP BYを組み合わせることで、異なる行にまたがって複数の条件を満たす値を選択できます。このテクニックは、あるカラムの値が指定した複数の値すべてを持っているレコードを抽出したい場合に非常に便利です。基本構文SELECT yourColumnName1 FROM yourTableName WHERE yourColumnName2 IN(value1, value2, .....N) GROUP BY yourColumnName1 HAVING COUNT(DISTINCT yourColumnName2) = conditionValue;動作の仕組みWHE

  19. MySQLのSELECT文でインクリメントカウンター(連番)を表示する方法

    MySQLでSELECT文の実行結果に連番(インクリメントカウンター)を付けて表示したい場合、ユーザー定義変数を宣言・初期化して利用します。まずは基本となる構文を見てみましょう。基本構文set @anyVariableName=0; select yourColumnName, @anyVariableName:=@anyVariableName+1 as anyVariableName from yourTableName;この構文では、変数を「0」で初期化した上で、SELECT文の中で「@anyVariableName:=@anyVariableName+1」という代入式を使い、行が読み込

  20. MySQLにUNIXのwhoamiのような関数やコマンドはある?現在のユーザーを確認する方法

    MySQLには、UNIXのwhoamiコマンドに相当する関数は存在しません。UNIXではwhoamiコマンドで現在のユーザーを確認できますが、MySQLで同じ目的を達成するには、user()またはcurrent_user()関数を使用します。本記事の内容は以下のバージョンで検証しています。+-----------+ | version() | +-----------+ | 8.0.12 | +-----------+ 1 row in set (0.00 sec)ケース1:CURRENT_USER()関数を使う方法現在のユーザーを確認するには、次のクエリを実行します。mysql>

Total 4564 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:157/229  20-コンピューター/Page Goto:1 151 152 153 154 155 156 157 158 159 160 161 162 163