MySQL

 Computer >> コンピューター >  >> プログラミング >> MySQL
  1. PHPのdate_parse()関数でタイムスタンプから日・月・年を抽出する方法

    date_parse()関数でタイムスタンプを解析するPHPでタイムスタンプ(日時文字列)から日・月・年を抽出するには、date_parse() 関数を使用します。この関数は日時文字列を解析し、年・月・日・時・分・秒などの情報を連想配列として返してくれます。基本構文は以下の通りです。print_r(date_parse(anyTimeStampValue));サンプルコード具体的なタイムスタンプ値を解析するPHPコードは以下のようになります。$yourTimeStampValue="2019-02-04 12:56:50"; print_r(date_parse($your

  2. MySQLでテキストから\r\n(改行コード)を削除する方法

    MySQLのテキストデータから改行コード(\r\n)を削除するには、REPLACE関数を使用します。基本的な構文は以下の通りです。UPDATE テーブル名 SET カラム名=REPLACE(カラム名,\r\n,);第3引数には、空文字列「」の代わりに半角スペース「 」を指定することもできます。単語と単語の間にスペースを残したい場合はスペースを指定し、改行コードを完全に除去したい場合は空文字列を指定します。実際の使用例それでは、上記の構文を理解するために、実際にテーブルを作成してみましょう。テーブル作成用のクエリは以下の通りです。mysql> create table removeDemo

  3. MySQLで区切り文字間のテキストを抽出する方法|LOCATE()とSUBSTR()の使い方

    はじめにMySQLで区切り文字(デリミタ)の間にあるテキストを抽出したい場合は、LOCATE()関数とSUBSTR()関数を組み合わせることで実現できます。本記事では、区切り文字としてコロン(:)を使用した例を紹介しますが、カンマやハイフンなど、任意の文字に変更して利用することも可能です。基本構文以下の構文は、区切り文字の直後にある単語を検索・抽出するためのものです。SELECT SUBSTR(yourColumnName, LOCATE(:,yourColumnName)+1, (CHAR_LENGTH(yourColumnName) - LOCATE(:

  4. MySQLのSHOW TABLESはテーブル名でソートされる?ORDER BY句で並べ替える方法

    MySQLのSHOW TABLESはテーブル名でソートされる? 結論から言うと、MySQLのSHOW TABLESはデフォルトでテーブル名をアルファベット順(昇順)に並べて表示します。ただし、降順にしたい場合や任意の順序で並べ替えたい場合は、INFORMATION_SCHEMA.TABLESからtable_nameを取得し、ORDER BY句を使用することで実現できます。昇順にはASC、降順にはDESCを指定してください。 並べ替えの基本構文 SELECT table_name FROM information_schema.tables WHERE table_type = BASE TA

  5. java.sql.SQLExceptionの解決方法|ローカルホストテストで「適切なドライバが見つかりません」となる原因と対策

    「java.sql.SQLException: No suitable driver found for localhost(ローカルホストに適したドライバが見つかりません)」という例外は、指定したJDBC URLを、読み込まれているどのJDBCドライバもacceptsURL()メソッドで受け入れられなかった場合に必ず発生します。この記事では、エラーが起こる仕組みと、具体的な解決手順をわかりやすく解説します。 エラーが発生する仕組み DriverManager.getConnection()が呼び出されると、Javaは登録済みのすべてのJDBCドライバに対し、そのURLを処理できるかどうかを

  6. MySQLで日付別にデータをグループ化してカウントする方法

    MySQLでは、GROUP BY句とCOUNT()関数を組み合わせることで、日付別にデータをグループ化し、それぞれの件数を簡単に集計することができます。本記事では、実際のテーブルを作成しながら、その具体的な手順を解説します。 基本構文 日付別(およびその他の列)でグループ化してカウントする場合、基本的なSQL構文は以下のようになります。 SELECT yourColumnName1, yourColumnName2, ..N, COUNT(*) AS anyAliasName FROM yourTableName GROUP BY yourColumnName1, yourColumnNam

  7. MySQLで一意の値の数を取得する方法:DISTINCTキーワードの使い方

    MySQLであるカラムの一意(ユニーク)な値の件数をカウントしたい場合、DISTINCTキーワードを使用します。この記事では、実際にテーブルを作成しながら、DISTINCTを使った一意値のカウント方法を具体的に解説します。 サンプルテーブルの作成 まずは動作確認用のテーブルを作成しましょう。以下のクエリを実行して、IPアドレスごとのアクセス情報を管理するテーブルを作成します。 mysql> create table UniqueCountByIPAddress -> ( -> Id int NOT NULL AUTO_INCREMENT, ->

  8. JavaのPreparedStatementを使ってMySQLテーブルにレコードを挿入する方法

    JavaのPreparedStatementを使用してMySQLのテーブルにレコードを挿入するには、まずINSERT文の雛形を作成し、値の部分をプレースホルダー(?)で置き換えます。SQLインジェクション対策やパフォーマンス向上の観点からも、この方法は推奨されています。1. INSERT文の基本構文レコード挿入用のSQLは、以下のような構文で記述します。String anyVariableName = INSERT INTO yourTableName(yourColumnName1, yourColumnName2, yourColumnName3, ...N) + VALUES (?, ?

  9. MySQLのBENCHMARK関数で「サブクエリが複数の行を返す」エラーを解決する方法

    MySQLのBENCHMARK()関数を使用する際、サブクエリが複数の行を返すとエラーが発生します。この問題を解決するには、複数の行ではなく、スカラー値または単一行を返すようにクエリを書き換える必要があります。エラーの原因と基本構文BENCHMARK関数内のサブクエリが複数行を返すと、「ERROR 1242 (21000): Subquery returns more than 1 row」というエラーが出ます。これを回避するには、WHERE句で条件を指定して結果を1行に絞り込みます。基本構文は以下の通りです。SELECT yourColumnName FROM yourTableName W

  10. MySQLのSHOW COLUMNS結果を並べ替える方法(ORDER BY活用ガイド)

    MySQLでSHOW COLUMNSの実行結果を特定の順序で表示したい場合、SHOW COLUMNSステートメント自体にはORDER BY句を直接指定できません。そのようなときは、情報スキーマビュー「INFORMATION_SCHEMA.COLUMNS」を参照することで、カラム名を自由にソートできます。 基本構文 カラム名を任意の順序で取得するには、以下のようにORDER BY句を組み合わせます。 SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = yourTableName AND column_name

  11. MySQLで日時(DATETIME)変数を宣言する方法

    MySQLで日時(DATETIME)の値を扱う変数を宣言したい場合は、SETコマンドを使ってユーザー定義変数を作成します。ユーザー定義変数は変数名の先頭に「@」を付け、セッション単位で値を保持できるのが特徴です。日時変数を宣言する基本構文SET @anyVariableName=yourdatetimeValue;このように、SETコマンドの後に「@変数名 = 日時の値」という形式で記述するだけで、日時型の値を持つ変数を簡単に宣言できます。文字列として代入された値は、比較演算などでdatetime型として自動的に評価されます。動作確認用テーブルの作成実際に変数の使い方を確認するため、まずはサン

  12. データベースのPRICEフィールドはintやfloatで保存すべき?正解はDECIMAL型

    価格フィールドにはDECIMAL型を使うのがベストプラクティス データベースに価格(PRICE)フィールドを保存する際、「int型」や「float型」を選ぶ必要はありません。最適な選択肢はDECIMAL()型です。 多くの場合、整数値でも浮動小数点数を表現できますが、MySQLでは内部的にDECIMAL型へキャストされます。そのため、PRICEのような金額を扱うフィールドには、常にDECIMAL型を使用することをおすすめします。 なぜfloat型ではなくDECIMAL型なのか? float型やdouble型は浮動小数点数を近似値として格納するため、金額の計算において誤差が発生する可能性があり

  13. MySQLのTIME_TO_SEC()に相当するPHPの関数は?日時を秒に変換する方法

    MySQLのTIME_TO_SEC()とPHPのstrtotime()MySQLでは、時間を秒数に変換するためにTIME_TO_SEC()関数を使用できます。一方、PHPで日時(datetime)を秒に変換したい場合は、strtotime()関数がその役割を果たします。MySQLにおけるTIME_TO_SEC()の基本的な構文は以下の通りです。SELECT TIME_TO_SEC(ABS(timediff(yourDateTimeValue,now())));次に、PHPのstrtotime()を使って日時を秒に変換する具体的な方法を見ていきましょう。XAMPPサーバーの準備PHPプログラムを

  14. 【MySQL】日付の降順で並べ替えつつ、NULL(空)の日付は最後に表示する方法

    MySQLでNULLの日付を最後に回して並べ替える方法 MySQLで日付カラムを降順にソートするとき、NULL(空)のデータが先頭に来てしまうことがあります。そこで役立つのが、ORDER BY句とIS NULLプロパティを組み合わせたテクニックです。これを使えば、有効な日付で並べ替えを行いながら、NULLのレコードを結果の最後にまとめて配置できます。 基本構文 SELECT * FROM テーブル名 ORDER BY (日付カラム名 IS NULL), 日付カラム名 DESC; この構文のポイントは、(カラム名 IS NULL)という条件式です。IS NULLは条件が真の場合に 1、偽の場合

  15. 【MySQL】正規表現(REGEXP)で数字のみの行を抽出する方法

    MySQLのREGEXPで数字のみを抽出するにはMySQLでREGEXP(正規表現)を使用して、数字のみで構成されたデータを取得したい場合は、WHERE句で正規表現「^[0-9]*$」を指定します。本記事では、目的に応じた2つのケースに分けて、具体的なクエリの書き方と実行結果を解説します。ケース1:ちょうど10桁の数字のみの行を抽出する文字列がちょうど10桁で、かつすべてが数字である行だけを取得したい場合は、以下の正規表現を使用します。SELECT * FROM yourTableNameWHERE yourColumnName REGEXP ^[0-9]{10}$;ケース2:1桁以上の数字の

  16. MySQLで最初の文字が英数字ではない行を抽出する方法

    MySQLでは、REGEXP演算子と正規表現を組み合わせることで、カラムの最初の文字が英数字ではない行(記号などで始まる行)を簡単に抽出できます。この記事では、具体的なパターンとサンプルコードを使って解説します。 正規表現パターンの基本 ケース1:数字で始まる行を取得する場合 先頭が数字である行だけを取り出したいときは、次のような構文を使用します。 SELECT * FROM yourTableName WHERE yourColumnName REGEXP ^[0-9]; パターン内の「^」は文字列の先頭を意味し、「[0-9]」は先頭の1文字が0〜9のいずれかの数字であることを表しています。

  17. MySQLで特定の文字列で終わる行を検索して更新する方法(LIKE演算子の使い方)

    MySQLで、列の値が特定の文字列(サブストリング)で終わっている行を検索し、新しい値に更新したい場合は、LIKE演算子を使用します。ワイルドカード「%」を組み合わせることで、「〜で終わる」という条件を簡単に指定できます。基本構文列の値が特定の文字列で終わる行を検索して更新する場合の基本的な構文は以下のとおりです。UPDATE テーブル名 SET 列名=新しい値 WHERE 列名 LIKE %.検索する文字列;ポイントは、検索文字列の前に「%」を付けることです。「%」は任意の0文字以上の文字列にマッチするため、「%.docx」のように指定すると「.docxで終わるすべての値」が対象になります。

  18. MySQLでCAST演算子を使ってVARCHAR列を数値(FLOAT)としてソートする方法

    MySQLでは、VARCHAR型の列に数値データが格納されている場合、そのままORDER BY句でソートすると文字列として比較されるため、意図した順序にならないことがあります。CAST()演算子がうまく機能しない場合は、列名に「*1」を掛ける方法でも数値としてソートできます。方法1:CAST()演算子を使用するCAST()演算子を使ってVARCHAR型をDECIMAL型に変換してソートする構文は以下の通りです。SELECT yourColumnName1,yourColumnName2,...N FROM yourTableName ORDER BY CAST(yourColumnName A

  19. JavaでResultSetから列名を取得する方法!MySQLを使ったgetMetaData()の実装例を解説

    ResultSetから列名を取得するには?getMetaData()メソッドの基本JavaでJDBCを使ってデータベース操作を行っていると、「検索結果(ResultSet)に含まれる列名(カラム名)を動的に知りたい」という場面によく出会います。そんなときに活躍するのが、getMetaData()メソッドです。このメソッドを呼び出すと、結果セットの構造情報(列の数や名前、型など)を持つResultSetMetaDataオブジェクトを取得できます。プロトタイプ宣言は以下のとおりです。ResultSetMetaData getMetaData() throws SQLException;サンプル用テ

  20. MySQLのCONCAT()関数を使ってクエリ用の列名を動的に生成する方法

    MySQLでは、CONCAT()やGROUP_CONCAT()を活用することで、テーブルの列名(カラム名)から動的にSELECT文を組み立てることができます。これは、INFORMATION_SCHEMAから列情報を取得し、ユーザー定義変数とプリペアドステートメントを組み合わせることで実現できます。この記事では、実際の手順とサンプルコードを交えながら、その方法を詳しく解説します。全体の流れ動的なクエリを作成・実行するまでの流れは、以下の4ステップです。SETコマンドでユーザー定義変数に動的クエリ文字列を格納するPREPAREコマンドでステートメントを準備するEXECUTEコマンドでステートメント

Total 4564 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:141/229  20-コンピューター/Page Goto:1 135 136 137 138 139 140 141 142 143 144 145 146 147