MySQL

 Computer >> コンピューター >  >> プログラミング >> MySQL
  1. MySQLで特定のカラム名を持つテーブルを検索する方法

    MySQLで特定のカラム名(列名)を持つテーブルを探したい場合は、システムビューである information_schema.columns を利用します。このビューにはデータベース内のすべてのテーブルとカラムの情報が格納されているため、条件を指定して検索するだけで、目的のカラムを持つテーブルを簡単に特定できます。 基本構文 カラム名からテーブル名を検索する際の基本的な構文は以下の通りです。 select distinct table_name from information_schema.columns where column_name like %yourSearchValue% a

  2. MySQLのREGEXPでセミコロンがN個含まれる行を検索する方法

    はじめにMySQLでは、REGEXP演算子を使うことで、特定の文字が指定した回数だけ出現する行を簡単に検索できます。この記事では、セミコロン(;)を3個含む行を抽出する方法を、テーブル作成から実際の実行結果まで、サンプルコードとともにわかりやすく解説します。サンプルテーブルの作成まず、テスト用のテーブルを作成しましょう。mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Title text ); Query OK, 0 rows affected (0.88 sec)レコ

  3. MySQLの列に新しい遅延時間を設定する方法

    ```html MySQLの列に新しい遅延時間を設定する方法 MySQLで列に新しい遅延時間を設定するには、INTERVALキーワードとDATE_ADD関数を組み合わせて使用します。また、UPDATE文とSET句を使えば、テーブルの列の値そのものを更新することも可能です。 ここでは、実際にテーブルを作成し、時刻データに秒を加算して新しい遅延時間を設定する手順を順番に見ていきましょう。 1. テーブルを作成する まず、TIME型の列を持つテーブルを作成します。 mysql> create table DemoTable (     DelayTime

  4. SQLで1つおきの行(奇数行)を抽出し、降順で表示する方法

    SQLで交互の行を降順で取得するには?テーブルから1つおきの行(奇数行)だけを取り出したい場合は、WHERE句でMOD()関数を使用します。MOD()は剰余(割り算の余り)を返す関数で、「MOD(列名, 2) = 1」という条件を指定することで、IDが奇数の行、つまり1行おきのデータのみを抽出できます。さらに、ORDER BY 〜 DESCを組み合わせれば、抽出した結果を降順(大きい順)で表示することができます。基本構文は以下の通りです。SELECT * FROM テーブル名 WHERE MOD(列名,2)=1 ORDER BY 列名 DESC;サンプルテーブルを作成するそれでは、実際に動作を

  5. MySQLで特定の列の重複データ件数を集計し、降順に並べ替える方法

    MySQLである列(カラム)に含まれる重複レコードの件数を調べ、その結果を並べ替えて表示したい場面はよくあります。例えば、アンケートの回答値やログデータの中で、どの値が何回出現したかを把握したい場合などです。 基本となるSQL構文 重複レコードの件数を集計するには、対象の列名に対して GROUP BY を使用します。件数を取得するには COUNT(*) を使い、結果を並べ替えるには ORDER BY を組み合わせます。基本的な構文は以下のとおりです。 SELECT COUNT(*) AS 任意の別名 FROM テーブル名 GROUP BY 列名 ORDER BY 別名 DESC; ポイントは

  6. MySQLでDATE型の列から月の第N週を取得する方法

    MySQLのDATE型カラムから月の第N週(N番目の平日)を取得する日付データから「その月の何週目にあたるか」を求めたいケースはよくあります。例えば、1日〜7日なら第1週、8日〜14日なら第2週、15日〜21日なら第3週、22日〜28日なら第4週、29日以降なら第5週といった具合です。MySQLでは、DAY()関数を使えば日付から「日」の部分を取り出せます。さらに、CASE文と組み合わせることで、その日が月の第何週に該当するかを簡単に判定できます。それでは、実際の例を見ていきましょう。まずサンプル用のテーブルを作成します。mysql> create table DemoTable (

  7. MySQLで時刻はそのままに日付(年)だけを変更する方法

    MySQLでは、INTERVAL演算子を使うことで、時刻部分はそのまま維持したまま、日付部分だけを変更できます。既存のレコードを更新するため、UPDATE文と組み合わせてINTERVALで新しい値を設定します。テーブルを作成するまず、例としてテーブルを作成してみましょう。mysql> create table DemoTable ( DueDate datetime ); Query OK, 0 rows affected (0.56 sec)レコードを挿入するINSERT文を使って、テーブルにいくつかのレコードを追加します。mysql> insert into DemoT

  8. MySQLエラー1075(42000)の解決方法:AUTO_INCREMENT列はキーとして定義する必要があります

    MySQLエラー1075(42000)とはMySQLでテーブルを作成する際、「ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key」というエラーに遭遇することがあります。これは、AUTO_INCREMENT属性を付けた列にPRIMARY KEYなどのキーが定義されていない場合に発生するエラーです。このエラーを修正するには、AUTO_INCREMENTフィールドにPRIMARY KEYを追加する必要があります。まず、どのよう

  9. MySQLでテーブル名に「match」を指定するとエラーになる?予約語をバッククォートで囲む正しい対処法

    MySQLでは「match」は予約語(reserved word)として登録されているため、テーブル名としてそのまま使用すると構文エラーが発生します。注意したいのは、シングルクォート()で囲んでも問題は解決しないという点です。予約語をテーブル名などに使用する場合は、バッククォート(`)で囲む必要があります。バッククォートなしで発生するエラーまず、予約語「match」をそのまま使用した場合にどのようなエラーが出るのか確認してみましょう。mysql> select *from match;ERROR 1064 (42000): You have an error in your SQL sy

  10. MySQLでNULLとNOT NULLのレコードを表示する方法|特定の1つの値を除外する

    NULL・NOT NULLレコードの表示と特定値の除外についてMySQLでNULLのレコードを表示するには「IS NULL」を使用します。また、特定の1つの値を除外したい場合は「!=」演算子を利用します。なお、「!=」は「<>」演算子の別名(エイリアス)であり、どちらを使っても同じ動作になります。本記事では、NULLとNOT NULLのレコードを表示しながら、特定の値を持つレコードだけを除外するクエリの書き方を、実際のコード例をもとに解説します。サンプルテーブルの作成まず、以下のSQLを実行してテーブルを作成しましょう。mysql> create table DemoTabl

  11. MySQLで1つの列を基準にグループ化し、区切り文字を使って別の列のレコードをまとめて表示する方法

    GROUP_CONCAT()とGROUP BYを組み合わせたグループ化特定の列の値ごとにレコードをグループ化し、別の列の値を区切り文字(セパレータ)で連結して1行にまとめて表示したい場合は、GROUP_CONCAT()関数とGROUP BY句を組み合わせて使用します。GROUP_CONCAT()は、複数行に分かれた文字列データを1つのフィールドに連結するための集計関数です。サンプルテーブルの作成まず、以下のようにテーブルを作成します。mysql> create table DemoTable (    PlayerId int,    ListOf

  12. MySQLでオートコンプリート用にレコードを取得する方法:学校名の部分一致検索

    MySQLでオートコンプリートにレコードを表示する方法オートコンプリート機能を実装する際、MySQLではLIKE句を使用して部分一致するレコードを取得できます。ここでは学校名を例に、複数のキーワードに同時に一致するレコードを抽出する方法を解説します。サンプルテーブルの作成まず、テーブルを作成しましょう。mysql> create table DemoTable ( SchoolName varchar(100) ); Query OK, 0 rows affected (0.56 sec)レコードの挿入INSERT文を使ってテーブルにデータを追加します。mysql> ins

  13. MySQLで名前ごとにグループ化し、カウント結果を新しい列に表示する方法

    MySQLでは、GROUP BY句とCOUNT()関数を組み合わせることで、同じ値を持つレコードをまとめて集計できます。この記事では、名前の列をグループ化し、各名前の出現回数を新しい列として表示するクエリの書き方を、具体的な手順とともに解説します。 サンプルテーブルの作成 まず、デモ用のテーブルを作成しましょう。 mysql> create table DemoTable ( Name varchar(30) ); Query OK, 0 rows affected (0.63 sec) レコードの挿入 次に、INSERTコマンドを使って複数のレコードを挿入します。ここでは、

  14. MySQLのORDER BY CASEとIN()を使ってグループ化したフィールドを並べ替える方法

    MySQLでグループ化したフィールドを並べ替えるには?グループ化されたフィールドに対して並べ替えを行いたい場合は、ORDER BY CASEとIN()を組み合わせて使用します。CASE式は複数の条件を評価して優先順位を決め、ORDER BYはその結果をもとに値を昇順または降順にソートします。また、MySQLのIN()は指定した複数の値の中から一致するものを検索するために使われます。この仕組みにより、「特定の値をまとめて先頭に表示したい」「カスタム順序でソートしたい」といった柔軟な並べ替えが可能になります。1. テーブルを作成するまず、サンプル用のテーブルを作成しましょう。mysql> c

  15. MySQLの単一クエリで重複しないアイテム数をカウントする方法

    特定の条件に合う「重複しないアイテム」の数を取得したい場合、COUNT() 関数と DISTINCT キーワードを組み合わせて使用します。DISTINCT を指定すると、重複する値が除外された一意の値だけが対象になります。本記事では、実際にテーブルを作成し、単一のクエリで異なるアイテム数をカウントする手順を解説します。 1. サンプルテーブルの作成 まず、顧客ID・顧客名・製品名を持つテーブルを作成します。 mysql> create table DemoTable ( CustomerId int, CustomerName varchar(20), Prod

  16. SQLのユーザー定義変数で増分値を設定し、複数のタイムスタンプ値をまとめてインクリメントする方法

    MySQLでは、増分値をユーザー定義変数(セッション変数)に設定しておくことで、複数のタイムスタンプ値をまとめて指定秒数だけ進めることができます。ここでは「yourValue」が増分値に相当します。変数を設定した後、UPDATE文とINTERVAL句を組み合わせてカラムの値を更新します。基本構文まず、SET文でユーザー定義変数に増分値を代入し、続いてUPDATE文でタイムスタンプ型のカラムを更新します。set @anyVariableName := yourValue;update yourTableName set yourColumnName = yourColumnName + inte

  17. Javaを使ってDATE型の値をMySQLカラムに挿入する方法【PreparedStatement活用】

    はじめに JavaからMySQLのDATE型カラムに日付データを挿入したい場合、PreparedStatementを使用するのが最も安全で推奨される方法です。SQLインジェクション対策にもなり、日付型の変換もスムーズに行えます。 本記事では、Javaプログラムから現在の日付をMySQLテーブルに挿入する手順を、サンプルコード付きでわかりやすく解説します。 1. サンプルテーブルの作成 まず、DATE型のカラム「ArrivalDate」を含むテーブルを作成します。以下はMySQLでの作成例です。 mysql> create table DemoTable( PassengerId

  18. MySQLで複数の行(レコード)が存在するかどうかを確認するクエリの書き方

    MySQLでは、COUNT(DISTINCT ...) を活用することで、指定した複数の行(レコード)がテーブル内にすべて存在するかどうかを簡単に確認できます。この記事では、具体的なサンプルを使って手順を解説します。 1. サンプルテーブルを作成する まず、動作確認用のテーブルを作成します。 mysql> create table DemoTable1219 ( Id int, Name varchar(40) ); Query OK, 0 rows affected (0.43 sec) 2. テストデータを挿入する INSERT コマンドを使って、いくつかのレコー

  19. MySQLでテーブルの日付形式を「日/月/年(d/m/y)」形式に変更する方法

    MySQLでは、DATE_FORMAT()関数を使用することで、日付データを任意の形式に整形して表示できます。この記事では、テーブルの日付を「日/月/年(d/m/y)」形式に変更する方法を、実際のSQL例と実行結果とともにわかりやすく解説します。 基本構文 以下が基本となる構文です。 select date_format(yourColumnName,%d/%m/%Y) as anyAliasName from yourTableName; サンプルテーブルの作成 まず、テーブルを作成しましょう。 mysql> create table DemoTable ( Admission

  20. 【SQL】現在の値を知らなくてもint型カラムに値を加算する方法(MySQL)

    データベース内のint型カラムに対して、現在の値を確認せずに値を加算したい場合があります。そんなときは、UPDATEコマンドとSET句を組み合わせるだけで簡単に実現できます。この記事では、MySQLを使って具体的な手順を解説します。 1. テーブルを作成する まずはサンプル用のテーブルを作成しましょう。ここでは学生IDとスコアを持つ「DemoTable」を作成します。 mysql> create table DemoTable ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentScore int );

Total 4564 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:54/229  20-コンピューター/Page Goto:1 48 49 50 51 52 53 54 55 56 57 58 59 60