MySQL

 Computer >> コンピューター >  >> プログラミング >> MySQL
  1. MySQLで文字列を完全一致検索する方法!BINARY演算子の使い方を解説

    MySQLで正確な(完全一致の)文字列を検索するには?MySQLでは、デフォルトの照合順序(collation)によって、大文字・小文字を区別しない比較が行われることがあります。そのため、WHERE句で単純に等価比較を行うと、意図した結果と異なるレコードが返される場合があります。このような場合は、BINARY演算子を使うことで、大文字・小文字や照合順序の影響を受けない「厳密な完全一致検索」が可能になります。基本の構文は以下のとおりです。SELECT * FROM テーブル名 WHERE BINARY カラム名 = 検索したい文字列;それでは、実際にテーブルを作成して動作を確認してみましょう。サ

  2. 【MySQL】照合順序を1行のALTER文でutf8_binに変更する方法

    照合順序を1行で変更する基本構文 MySQLでテーブルの照合順序(COLLATION)を変更したい場合は、ALTER TABLEコマンドを使用します。特別な設定は不要で、たった1行のコマンドを実行するだけで完了します。基本の構文は以下の通りです。 ALTER TABLE テーブル名 COLLATE utf8_bin; サンプルテーブルを作成する それでは、実際にコマンドの動きを確認していきましょう。まずは動作確認用のサンプルテーブルを作成します。テーブル作成のクエリは以下の通りです。 mysql> create table CollateDemo    &

  3. MySQLでvarcharカラムにパーセント記号(%)が含まれているか確認する方法

    MySQLでvarcharカラムにパーセント記号(%)が含まれているか確認する方法 MySQLにおいて、varchar型のカラムにパーセント記号(%)が含まれているレコードを抽出したい場合は、LIKE演算子とESCAPE句を組み合わせて使用します。 「%」はLIKE句の中ではワイルドカード(任意の文字列に一致する特殊記号)として機能するため、単純にLIKE %%%のように書いても意図した検索はできません。そこで、ESCAPE句で任意のエスケープ文字を定義し、リテラルとしての「%」を表現します。 基本構文 SELECT * FROM テーブル名 WHERE カラム名 LIKE %|%% ESCA

  4. PHP・MySQLで日付形式をdd/mm/yyyyに変更する方法

    PHPやMySQLでは、日付の表示形式を自由に変更できます。本記事では、日付を「dd/mm/yyyy(日/月/年)」形式に変換する方法を、PHPとMySQLそれぞれのケースについて解説します。PHPで日付形式を変更する方法PHPでは、date()関数を使って日付形式を簡単に変更できます。基本構文は以下の通りです。date(d/m/Y, 日時の変数);また、文字列を日付として扱う場合は、strtotime()関数を使用します。この関数は、日付を表す文字列をUnixタイムスタンプに変換してくれるため、date()関数と組み合わせて使うのが一般的です。以下は、日時を「dd/mm/yyyy」形式に整形

  5. MySQLのLIMIT句を使ってテーブルから1行だけ取得する方法

    MySQLでテーブルから単一の行(1行のみ)を取得したい場合は、LIMIT句を使用します。LIMIT句は、SELECT文が返す行数を制限できる便利な機能です。この記事では、実際にテーブルを作成し、データを挿入したうえで、LIMIT句を使って1行だけ取得する手順を順番に解説します。 テーブルの作成 まず、サンプル用のテーブルを作成します。Idカラムを主キー(PRIMARY KEY)に設定し、AUTO_INCREMENTで自動採番されるようにしています。テーブル作成用のクエリは以下の通りです。 mysql> create table selectWithPrimaryKey ->

  6. MySQLでdd/mm/yyyy形式の文字列をUnixタイムスタンプに変換する方法

    dd/mm/yyyy形式の文字列をUnixタイムスタンプへ変換する方法 MySQLでは、UNIX_TIMESTAMP()関数とSTR_TO_DATE()関数を組み合わせることで、「dd/mm/yyyy」(日/月/年)形式の日付文字列をUnixタイムスタンプに変換できます。基本構文は以下の通りです。 SELECT UNIX_TIMESTAMP(STR_TO_DATE(yourColumnName,%d/%m/%Y)) as anyVariableName FROM yourTableName; STR_TO_DATE()がフォーマット指定子「%d/%m/%Y」に従って文字列をDATE型に変換し、

  7. MySQLで各行のハッシュ値を取得する方法(MD5関数の使い方)

    MySQLでは、MD5()関数を使うことで、テーブルの各行に対してハッシュ値を簡単に取得できます。複数のカラムの値を連結してハッシュ化したい場合は、CONCAT()関数と組み合わせるのが一般的です。基本構文SELECT MD5(CONCAT(カラム名1, カラム名2, カラム名3, ...N)) AS 任意の別名 FROM テーブル名;それでは、実際の例を通じてこの構文を理解していきましょう。サンプルテーブルの作成まず、テーブルを作成します。以下のクエリを実行してください。mysql> create table getHashValueForEachRow -> (

  8. MySQLのSELECTクエリで個々のフィールド値を任意のキーにマッピングする方法

    MySQLでは、SELECTクエリ内でCASE文またはIF()関数を使用することで、特定のフィールドの値(例:0や1のブール値)を「ENABLED」「DISABLED」のような分かりやすい文字列キーへ変換して表示できます。本記事では、両方の方法の構文と実際の使用例を解説します。 方法1:CASE文を使う CASE文を使うと、条件に応じて返す値を柔軟に制御できます。基本構文は以下のとおりです。 SELECT yourColumnName1,yourColumnName2,yourColumnName3,.........N ( CASE WHEN yourColumnName = 1 T

  9. MySQLで数字を含む文字列を正しく並べ替える方法(ORDER BY・SUBSTR・CAST活用)

    はじめにMySQLでは、文字列型のカラムに「A10」「A30」のような数字が混ざったデータが格納されている場合、通常の ORDER BY だけでは文字コード順にソートされるため、「A10、A11、A12…」という数値として自然な順序になりません。この問題を解決するには、ORDER BY 句と SUBSTR() 関数、さらに CAST() 関数を組み合わせます。以下がその基本構文です。SELECT * FROM yourTableName ORDER BYSUBSTR(yourColumnName FROM 1 FOR 2),CAST(SUBSTR(yourColumnName FROM 2)

  10. 【MySQL】ブール値(BOOLEAN)をUPDATE文で更新する方法を実例付きで解説

    MySQLでは、UPDATEコマンドを使ってブール値を簡単に更新できます。BOOLEANデータ型を定義しても、MySQLは内部的にtinyint(1)へ変換して扱う点に注意が必要です。また、trueやfalseといったリテラルも使用でき、trueは「1」、falseは「0」としてtinyint(1)に格納されます。 ブール値を更新する基本構文 ブール値の更新には、通常のUPDATE文と同じ構文を使用します。 UPDATE yourTableName SET yourColumnName = yourValue WHERE yourCondition; サンプルテーブルの作成 それでは、実際にテ

  11. MySQLで文字列から2つ以上の連続スペースを削除する方法

    MySQLで文字列から2つ以上の連続スペースを削除する方法 MySQLには、文字列内に含まれる2つ以上の連続した半角スペースをまとめて削除(または1つに圧縮)する組み込み関数は用意されていません。しかし、ストアドファンクション(ユーザー定義関数)を自作することで、この処理を簡単かつ再利用可能な形で実現できます。 まず、関数を作成するための基本構文は以下のとおりです。 DELIMITER // CREATE FUNCTION 関数名(パラメータ1,...N) RETURNS データ型 BEGIN -- 処理内容 END; // DELIMITER ; スペース削除関数の作成例 それでは、実際

  12. MySQLテーブルの最後のレコードを取得する方法|ORDER BYとMAX()の使い分け

    MySQLテーブルの最後のエントリ(最終レコード)を取得する方法 MySQLでテーブル内の最後のエントリを取得したい場合、ORDER BY句を利用するのが基本です。代表的なアプローチは次の2通りあります。 ケース1:DESCとLIMITを組み合わせる 指定カラムの値を降順に並べ替え、先頭の1件だけを取得するシンプルな方法です。 SELECT * FROM yourTableName ORDER BY yourColumnName DESC LIMIT 1; ケース2:MAX()関数を使う 対象カラムの最大値を求め、その値に一致する行を取り出す方法です。ユーザー定義変数と組み合わせて使います。

  13. MySQLのSELECT *で重複しないID(一意な値)を取得する方法

    MySQLでテーブルから全カラム(SELECT *)を取得しつつ、特定のカラムの重複を排除して一意なIDだけを取り出したい場合があります。そんなときはGROUP BY句を使うことで実現できます。基本構文SELECT * FROM テーブル名 GROUP BY カラム名;指定したカラムの値ごとにレコードがグループ化され、各グループから1行ずつ結果として返されます。その結果、重複したIDを持つ行は1行にまとめられます。サンプルテーブルの作成実際に動きを確認するため、テーブルを作成してみましょう。mysql> create table DistinctIdDemo -> (

  14. MySQLで金額(通貨)を扱うならDECIMAL型一択!正しい使い方を実例付きで解説

    MySQLで金額(通貨)のデータを扱う場合、最も推奨されるデータ型は DECIMAL 型です。FLOAT や DOUBLE のような浮動小数点型は誤差が発生する可能性があるため、正確な金額計算が必要な場面では DECIMAL 型を使うのがベストプラクティスとされています。DECIMAL型の基本構文DECIMAL 型は、全体の桁数と小数点以下の桁数を指定して定義します。構文は以下の通りです。DECIMAL(総桁数, 小数点以下の桁数);サンプルテーブルの作成それでは、実際にテーブルを作成して動作を確認してみましょう。以下のクエリでテーブルを作成します。mysql> create table

  15. 【MySQL】BETWEEN句で開始値・終了値を除外して取得する方法

    はじめにMySQLのBETWEEN句は、指定した範囲内のデータを抽出する際に便利な演算子ですが、デフォルトでは開始値と終了値の両方が含まれるという特徴があります。本記事では、境界値(開始値・終了値)を除外した状態で範囲検索を行う方法を、具体的なサンプルコードとともにわかりやすく解説します。BETWEEN句で終了値を除外する基本構文範囲内の値を取得しつつ、終了値を結果から除外したい場合は、BETWEENとNOT INを組み合わせて次のように記述します。SELECT * FROM テーブル名 WHERE カラム名 BETWEEN 開始値 AND 終了値 AND カラム名 NOT IN (終了値);

  16. MySQL:BETWEEN句で開始値と終了値を除外して取得する方法

    MySQLのBETWEEN句で開始値と終了値を除外するには? MySQLのBETWEEN句は、指定した範囲の検索において、デフォルトでは開始値と終了値(両端の値)も結果に含まれます。しかし実際の開発では、「範囲内のデータは欲しいけれど、両端の値は除きたい」というケースも少なくありません。 そのような場合は、BETWEENとNOT INを組み合わせることで、開始値と終了値を除外した範囲検索が簡単に実現できます。ここでは具体的な構文とサンプルコードを紹介します。 基本構文 開始値と終了値を結果から除外したい場合は、次のような構文を使用します。 SELECT * FROM テーブル名 WHERE

  17. MySQLで2つのカラムから重複しない組み合わせを抽出する方法

    はじめにMySQLで2つのカラムから一意(重複しない)な組み合わせを取得したい場合、CASE式を活用するのが効果的です。例えば、(s, t) と (t, s) のようなペアは、順序が逆になっているだけなので同じ組み合わせとして扱いたいケースがあります。単純にSELECT DISTINCTを実行しても、このような順序違いのペアは別々の行として出力されてしまいます。本記事では、CASE式を使ってこの問題を解決する方法を、サンプルコード付きで段階的に解説します。サンプルテーブルの作成まず、2つの文字型カラムを持つテーブルを作成します。テーブル作成用のクエリは以下の通りです。mysql> cre

  18. MySQLでカスタム形式の日付から最小値(最も古い日付)を取得する方法

    MySQLでは、日・月・年がそれぞれ別の列に保存されている「カスタム形式」の日付からも、最も古い日付(最小値)を求めることができます。本記事では、実際にテーブルを作成し、MIN()関数とCONCAT()関数を組み合わせて最小日付を取得する手順を、実行例とともにわかりやすく解説します。 1. テーブルの作成 まず、日付を「日」「月」「年」の3つの列に分けて格納するテーブルを作成します。テーブル作成用のクエリは以下の通りです。 mysql> create table FindMinimumDate     -> (   &

  19. MySQLでランダムな行を選択する方法|ORDER BY RAND()の使い方を実例で解説

    MySQLでテーブルからランダムな行を取得したい場合には、RAND()関数とLIMIT句を組み合わせるのが最もシンプルな方法です。この記事では、基本的な構文から実際に動作するサンプルまで、手順を追ってわかりやすく解説します。ランダムな行を取得する基本構文ランダムな行を選択するには、以下のように RAND() を使って並べ替えを行い、LIMIT で取得する件数を指定します。SELECT * FROM yourTableName ORDER BY RAND() LIMIT 1;この構文では、すべての行に対して乱数を生成し、その値をもとに並べ替えた結果の先頭1行だけを返します。LIMIT の数値を変

  20. MySQLの日付カラムに現在の日時を自動的に挿入する方法

    MySQLで日付のデフォルト値を自動設定するMySQLでは、NOW()関数をデフォルト値として指定することで、レコード挿入時に現在の日付と時刻を自動的に入力できます。また、後から日付部分だけを取り出したい場合は、DATE()関数を使用します。 ケース1:特定の日付をデフォルト値にするあらかじめ決まった日付をデフォルト値として設定する場合は、次のような構文を使います。yourDateColumnName DATE DEFAULT yourDateValue; ケース2:現在の日時を自動的に挿入するレコード挿入時点の現在日時を自動的に記録したい場合は、NOW()をデフォルト値に指定します。your

Total 4564 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:146/229  20-コンピューター/Page Goto:1 140 141 142 143 144 145 146 147 148 149 150 151 152