MySQL

 Computer >> コンピューター >  >> プログラミング >> MySQL
  1. MySQLのLIMITとOFFSETを使ったページネーションの実装方法

    MySQLで大量のデータを扱う際、1画面にすべてのレコードを表示するのは非効率です。そこで活躍するのがLIMITとOFFSETを使ったページネーション(ページ分割)です。この記事では、実際にテーブルを作成し、サンプルデータを挿入しながら、LIMITとOFFSETによるページネーションの基本的な使い方を解説します。 テーブルの作成 まず、CREATE文を使ってテーブルを作成します。以下のクエリを実行してください。 mysql> CREATE table limitoffsetDemo -> ( -> id int, -> FisrtName varchar(200) -

  2. MySQLでテーブル・インデックス・データを丸ごと複製(クローン)する方法

    MySQLでテーブルを複製する基本の考え方MySQLでテーブルを丸ごと複製(クローン)したい場合、「LIKE」句を使うのが基本です。「CREATE TABLE ... LIKE」を使うと、カラム定義だけでなくインデックスも含めたテーブル構造をそのままコピーできます。さらに「INSERT ... SELECT」文を組み合わせれば、データまでまとめて複製可能です。ここでは「business」というデータベースを例に、実際の手順を順番に見ていきましょう。1. データベースの選択とテーブル一覧の確認まず、対象となるデータベースを選択します。mysql> USE business;Database

  3. MySQLのタイムゾーン設定方法!現在時刻の確認から変更手順まで解説

    MySQLを運用していると、サーバーのタイムゾーンが意図したものと異なり、日時データにずれが生じることがあります。本記事では、MySQLで現在時刻を確認する方法と、タイムゾーンを設定・変更する具体的な手順をわかりやすく解説します。 現在の時刻を確認する方法 MySQLで現在の日時を知りたい場合は、SELECT文と組み合わせてnow()関数を使用します。クエリは以下の通りです。 mysql> SELECT now(); 上記のクエリを実行すると、現在の日時が取得できます。実行結果は次のようになります。 +---------------------+ | now()

  4. MySQLでテーブルの現在のAUTO_INCREMENT値を取得する方法を解説

    MySQLでテーブルの現在のAUTO_INCREMENT値を確認したい場合、last_insert_id()関数を利用するのが一般的な方法です。本記事では、実際にテーブルを作成し、レコードを挿入しながら、現在のAUTO_INCREMENT値と次に採番される値を取得する手順を具体的に解説します。 テーブルの作成 まず、AUTO_INCREMENT属性を持つカラムを含むテーブルをCREATEコマンドで作成します。 mysql> CREATE table AutoIncrement -> ( -> IdAuto int auto_increment, -> primary k

  5. MySQLのUNSIGNED(符号なし)とは?意味と使い方を実例付きで解説

    MySQLにおけるUNSIGNED(符号なし)とはUNSIGNED(符号なし)属性を指定したカラムには、正の数値のみを保存できます。負の数値は一切入力することができません。MySQLでは、INT型などの数値型はデフォルトで負の値も扱えますが、UNSIGNEDを付けると扱える範囲が0以上に限定され、その分だけ正の側の最大値が約2倍になります。例えば、通常のINT型は -2147483648〜2147483647 の範囲ですが、INT UNSIGNED の場合は 0〜4294967295 となります。UNSIGNEDカラムを持つテーブルを作成するまず、CREATEコマンドを使ってテーブルを作成し、

  6. MySQLでクエリログを有効化する方法|SET GLOBALの正しい使い方

    MySQLクエリログを有効化する方法 MySQLでクエリログ(一般ログ)を有効にするには、SET globalコマンドを使用します。general_logはグローバル変数であるため、セッション単位では設定できず、必ずGLOBALキーワードを付けて実行する必要があります。 GLOBALを付けずに実行した場合のエラー たとえばMySQL 8.0.12環境で、SET general_logのようにそのまま実行すると、次のようなエラーが発生します。 mysql> SET general_log = 1; 出力結果: ERROR 1229 (HY000): Variable general_lo

  7. MySQLで日付に日数を加算する方法:DATE_ADD関数の使い方

    MySQLで日付に日数を追加したい場合、DATE_ADD() 関数を使用します。この関数を使うことで、指定した日付や日時(DATETIME)に対して、1日や複数の日数を簡単に加算でき、翌日以降の日付を取得することができます。 DATE_ADD関数の基本構文 DATE_ADD() 関数の基本的な構文は以下の通りです。 SELECT DATE_ADD(任意の日付, INTERVAL 1 DAY) AS 別名; 第1引数には基準となる日付を指定し、第2引数の INTERVAL 句で加算する期間と単位を指定します。ここでは「1 DAY」つまり1日を加算しています。 実際に1日を加算してみる それでは、

  8. MySQLのDISTINCTとGROUP BYの違いとは?使い分け方を実例付きで解説

    DISTINCTとGROUP BY、どちらを使うべき? MySQLで重複データを処理する場合、「SELECT DISTINCT」と「GROUP BY」のどちらを使えばよいか迷うことがあります。この記事では、それぞれの特徴と使い分けのポイントを、実際のSQL実行例を交えてわかりやすく解説します。 SELECT DISTINCTで重複する値を除外する SELECT DISTINCTは、指定したカラムの一意な値(重複しない値)を取得するために使います。重複レコードを取り除く目的で利用されるほか、MAXやAVGといった集計関数と組み合わせることも可能です。単一のカラムに対して適用できるのが特徴です。

  9. MySQLのLIKEワイルドカードで大文字・小文字を区別せずに列を検索する方法

    MySQLでは、LOWER()関数を列名に適用することで、大文字と小文字を区別しない検索を実現できます。この記事では、実際にテーブルを作成し、データを挿入して検索するまでの手順を順番に解説します。1. テーブルの作成まず、CREATE文を使ってテーブルを作成します。mysql> CREATE table InCaseSensDemo -> ( -> Name varchar(100) -> ); Query OK, 0 rows affected (0.50 sec)2. レコードの挿入次に、INSERT文でテーブルにレコードを登録します。ここでは、大文字と小文字が混在

  10. MySQLで大文字と小文字を区別した文字列比較を行う方法(BINARY演算子の使い方)

    MySQLでは、デフォルトの照合順序( collation )によっては、文字列の比較が大文字と小文字を区別せずに行われます。しかし、BINARY キーワードを使用することで、大文字と小文字を厳密に区別した比較を実現できます。この記事では、実際にテーブルを作成し、データを挿入して、大文字小文字を区別する検索を行う手順を解説します。1. テーブルの作成まず、CREATE文を使ってテーブルを作成します。mysql> CREATE table InCaseSensDemo-> (-> Name varchar(100)-> );Query OK, 0 rows affecte

  11. MySQLでスペースを含むカラム名をSELECT文で取得する方法

    MySQLでスペースを含むカラム名を扱うにはMySQLでは、テーブル作成時にスペースを含むカラム名を定義できますが、そのようなカラムをSELECT文で参照する際には注意が必要です。スペースを含むカラム名を指定する場合は、バッククォート(` `)でカラム名を囲む必要があります。バッククォートは、キーボードのチルダ記号(~)の下にあるキーで入力できます。シングルクォート()とは異なる記号なので、混同しないようにしましょう。1. スペースを含むカラムを持つテーブルを作成するまず、「Student Name」というスペースを含むカラム名を持つテーブルを作成します。カラム名はバッククォートで囲みます。m

  12. MySQLでミリ秒単位の時刻を保存・取得する方法【now(3)関数の使い方】

    MySQLで現在時刻をミリ秒単位で保存したい場合は、now(3)関数を使用します。括弧内の「3」は小数点以下(ミリ秒)の桁数を表しており、DATETIME(3)型のカラムと組み合わせることで、ミリ秒まで精度の高い時刻を記録できます。ここからは、実際にテーブルを作成し、ミリ秒付きの時刻を挿入・確認するまでの手順を順番に解説します。1. テーブルの作成まず、CREATE文を使って、DATETIME(3)型のカラムを持つテーブルを作成します。mysql> CREATE table MilliSecondDemo-> (-> MyTimeInMillSec datetime(3)-&

  13. MySQLのVARCHAR型の最大サイズは?文字数の上限と行サイズ制限を解説

    MySQLのVARCHAR型の最大文字数MySQL 5.0.3より前のバージョンでは、VARCHAR型は最大255文字までしか格納できませんでしたが、バージョン5.0.3以降では最大65,535文字まで格納できるようになりました。公式ドキュメントに基づく仕様MySQLの公式ドキュメントには、以下のように記載されています。「MySQL 5.0.3以降におけるVARCHARの実効最大長は、最大行サイズ(65,535バイト。すべてのカラムで共有される)と、使用する文字セットによって制限されます。たとえば、utf8の文字は1文字あたり最大3バイトを必要とするため、utf8文字セットを使用するVARCH

  14. MySQLサーバーのポート番号を確認する方法をわかりやすく解説

    MySQLサーバーのポート番号を確認する方法MySQLサーバーがどのポートで通信しているのかを確認したい場面は、接続トラブルの調査やファイアウォール設定、アプリケーションの構成作業などでよくあります。MySQLでは、SQLコマンドを使って簡単にポート番号を調べることができます。ここでは、代表的な2つの方法を紹介します。方法1:SHOW VARIABLESコマンドを使う最も基本的な方法は、SHOW VARIABLESステートメントを使用することです。構文は以下のとおりです。show variables where variable_name = port;実際にMySQLクライアントから実行する

  15. MySQLエラー1396(HY000):「root」@「localhost」に対するCREATE USER操作が失敗する原因と対処法

    エラー1396が発生する仕組みMySQLでは、システム内部ですでに「root」ユーザーが別の名前とパスワードで定義されています。その状態でCREATE USERコマンドを使って新たに「root」という名前のユーザーを作成しようとすると、重複によりERROR 1396が発生します。エラーが発生するクエリ例以下のように、既存の「root」アカウントと同じ名前でユーザーを作成しようとした場合を考えてみましょう。 create user root@localhost identified by root123;上記のクエリを実行すると、次のようなエラーメッセージが出力されます。ERROR 1396 (

  16. 【MySQL】別のテーブルに存在しないレコードを抽出する方法(NOT IN句の使い方)

    MySQLであるテーブルから、別のテーブルには存在しないレコードだけを抽出したい場合があります。そんなときは、サブクエリ(副問い合わせ)とNOT IN句を組み合わせることで簡単に実現できます。この記事では、実際にテーブルを作成しながら、その手順をステップごとにわかりやすく解説します。1. 最初のテーブル「PresentHistory」を作成するまず、CREATE文を使って2つのカラムを持つテーブル「PresentHistory」を作成します。mysql> CREATE table PresentHistory-> (-> HisID int,-> HisName var

  17. MySQLでカラムがNULLまたは空文字かどうかを確認する方法

    MySQLでカラム(列)がNULLか、あるいは空文字(空の値)かどうかを確認するには、WHERE句とIS NULLを組み合わせて使用します。空文字の判定には、条件として(空の文字列)を指定します。この記事では、実際にテーブルを作成しながら、NULLと空文字を判定する手順を具体的に解説します。1. テーブルの作成まず、CREATE文を使ってテーブルを作成します。mysql> CREATE table ColumnValueNullDemo -> ( -> ColumnName varchar(100) -> ); Query OK, 0 rows affected (0.

  18. MySQLではNULLと空文字列どちらを挿入すべき?違いと使い分けを実例で解説

    InnoDBにおいて、NULLは空文字列()よりも少ないストレージ容量で済みます。また、NULLの長さは「不定(NULL)」として扱われる一方、空文字列の長さは0です。本記事では、実際にテーブルを作成してデータを挿入し、COUNT関数の挙動の違いを通じて両者の特徴を検証していきます。検証用テーブルの作成まず、CREATE文を使って検証用のテーブルを作成します。mysql> CREATE table DemoEmptyAndNULL-> (-> Message varchar(100)-> );Query OK, 0 rows affected (0.49 sec)空文字

  19. MySQLで非ASCII文字を検出する方法:HEX関数とREGEXPを使った実践テクニック

    MySQLで非ASCII文字を見つけるには?非ASCII文字とは、ポンド記号(£)、商標記号(™)、プラスマイナス記号(±)など、ASCIIコードの範囲外に属する文字のことです。データベースのクリーニングや文字化け対策では、テーブル内に含まれる非ASCII文字を特定したいケースがよくあります。ここでは、MySQLでテーブルから非ASCII文字を含むレコードを検出する手順を、具体的な例とともに解説します。ステップ1:テーブルを作成するまず、CREATE文を使って検証用のテーブルを作成します。mysql> CREATE table NonASciiDemo-> (-> NonAS

  20. MySQLで実行中のクエリを停止する方法|プロセス確認からKILLまで徹底解説

    MySQLで長時間実行されているクエリや暴走しているクエリを放置すると、サーバーのパフォーマンスに深刻な影響を与えます。本記事では、実行中のクエリを安全に特定し、停止させる具体的な手順を解説します。 STEP 1:実行中のプロセスを確認する クエリを停止する前に、まずSHOWコマンドで現在稼働中のプロセス一覧を確認しましょう。使用するクエリは以下の通りです。 mysql> SHOW PROCESSLIST; このクエリを実行すると、各接続に割り当てられたIDを含む一覧が出力されます。 +----+-----------------+-----------------+------

Total 4564 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:175/229  20-コンピューター/Page Goto:1 169 170 171 172 173 174 175 176 177 178 179 180 181