MySQL

 Computer >> コンピューター >  >> プログラミング >> MySQL
  1. コマンドラインからMySQLテーブルを修復する方法【REPAIR TABLEの使い方を解説】

    MySQLテーブルの修復はMyISAMエンジン限定 MySQLのREPAIR TABLEコマンドによるテーブル修復は、MyISAMエンジンでのみ利用可能です。InnoDBエンジンのテーブルには適用できません。そのため、修復を実行する前に、対象テーブルのストレージエンジンをMyISAMに変更しておく必要があります。 以下では、テーブルの作成からエンジンの変更、修復コマンドの実行までを具体的な例とともに解説します。 1. テーブルの作成 まずは、サンプル用のテーブルを作成します。 mysql> create table RepairTableDemo -> ( ->

  2. 【保存版】MySQLのrootユーザーから失われた全権限を復元する方法

    MySQLのrootユーザーから権限が失われてしまった場合でも、UPDATE文を使えば全権限を復元することができます。本記事では、rootユーザーの特権(Super_priv)や権限委譲権限(Grant_priv)を復旧させる具体的な手順を解説します。 手順1:mysqldを--skip-grant-tablesオプションで再起動する まず、現在稼働しているmysqld(MySQLサーバー)を停止します。その後、--skip-grant-tablesオプションを付けて再起動してください。このオプションを指定すると、権限テーブル(grant tables)が読み込まれずにサーバーが起動するため、

  3. MySQLで関数ベースのインデックスは作成できる?作成方法と確認手順を解説

    MySQLでは、バージョン5.6より前の環境では関数ベースのインデックスを作成することができませんでした。本記事では、MySQLでインデックスを作成する具体的な手順を、テーブルの作成からインデックスの確認まで順を追って解説します。 1. サンプルテーブルの作成 まず、インデックスを作成する対象となるテーブルを用意します。以下のクエリを実行して、FirstNameカラムを持つシンプルなテーブルを作成しましょう。 mysql> create table FunctionIndexDemo -> ( -> FirstName varchar(100) -&

  4. MySQLを再起動せずにスロークエリログを有効化する方法【SETコマンドで簡単設定】

    SETステートメントでスロークエリログを動的に有効化する MySQLでは、SETステートメントを使うことで、サーバーを再起動することなくスロークエリログ(低速クエリログ)を有効化できます。設定変更が即座に反映されるため、本番環境でもサービスを停止させることなくパフォーマンス調査を開始できるのが大きなメリットです。 基本構文 SET GLOBAL slow_query_log = Value; 上記構文の「Value」部分には、ON または OFF を指定します。スロークエリログを有効にするには、以下のように実行します。 mysql> SET GLOBAL slow_query_log

  5. MySQLでCONCATとGROUP_CONCATを組み合わせて使う方法

    MySQLでは、CONCAT関数とGROUP_CONCAT関数を組み合わせることで、グループごとの複数のカラム値を1つの文字列として連結することができます。本記事では、サンプルテーブルの作成から実際のクエリ実行まで、手順を追って詳しく解説します。テーブルの作成まずは、動作確認用のサンプルテーブルを作成します。mysql> create table GroupConcatenateDemo -> ( -> id int, -> FirstName varchar(100), -> Score int -> ); Query OK, 0 rows affecte

  6. InnoDBエンジンを指定してMySQLテーブルを作成・確認する方法

    InnoDBエンジンでテーブルを作成する方法MySQLでは、CREATE TABLE文にENGINEオプションを指定することで、InnoDBエンジンを使用したテーブルを作成できます。以下は、従業員情報を管理する「EmployeeRecords」テーブルを作成するクエリの例です。mysql> create table EmployeeRecords-> (-> EmpId int,-> EmpName varchar(100),-> EmpAge int,-> EmpSalary float-> )ENGINE=INNODB;Query OK, 0 ro

  7. MySQLでMyISAMエンジンのテーブルを作成・確認する方法

    MySQLでMyISAMエンジンを使用したテーブルを作成するには、CREATE TABLE文にENGINEオプションを指定します。この記事では、テーブルの作成から、実際にMyISAMエンジンで作成されているかの確認方法まで、具体的なコマンド例とともに順を追って解説します。 MyISAMエンジンのテーブルを作成する CREATE TABLE文の末尾にENGINE=MyISAMを記述することで、MyISAMエンジンを使用したテーブルを作成できます。 mysql> create table StudentRecordWithMyISAM -> ( -> Id int

  8. MySQLのMyISAMテーブルをInnoDBストレージエンジンに変換する方法

    MySQLでは、ALTER TABLEコマンドを使うことで、既存のMyISAMテーブルをInnoDBストレージエンジンへ簡単に変換できます。本記事では、MyISAMエンジンのテーブルを作成し、それをInnoDBに変換して結果を確認するまでの一連の手順を、実際の実行例とともに解説します。 1. MyISAMエンジンでテーブルを作成する まず、練習用としてMyISAMエンジンを指定したテーブルを作成します。ENGINE=MyISAMオプションを付けてCREATE TABLE文を実行しましょう。 mysql> create table MyISAMToInnoDBDemo ->

  9. MySQLでロック待機タイムアウト(Lock wait timeout)をデバッグする方法

    MySQLで「Lock wait timeout exceeded」エラーが発生する主な原因は、あるスレッド(トランザクション)がレコードのロックを長時間保持し続けていることにあります。別のトランザクションがそのレコードにアクセスしようとしても、ロックが解放されるまで待機するしかなく、待機時間が innodb_lock_wait_timeout の設定値(デフォルトは50秒)を超えるとタイムアウトエラーとなります。 ロック待機タイムアウトの原因 この問題は、以下のようなケースでよく発生します。 あるトランザクションが更新中のレコードのコミットやロールバックを行わず、ロックを長時間保持している

  10. 【MySQL】トリガーを使って別のテーブルに行を自動挿入する方法

    はじめに:トリガーとは MySQLのトリガー(TRIGGER)を使うと、あるテーブルに対してINSERT・UPDATE・DELETEなどの操作が行われたときに、自動的に別の処理を実行できます。本記事では、「Table1に行を挿入したら、同じ内容がTable2にも自動的に挿入される」というトリガーの作成手順を具体例とともに解説します。 ステップ1:1つ目のテーブルを作成する まず、CREATE文を使用してテーブルを作成します。 mysql> create table Table1 -> ( -> id int, -> name varchar(100)

  11. MySQLでミリ秒・マイクロ秒の精度は使える?バージョン5.6.4以降の小数秒サポートを解説

    MySQLのミリ秒・マイクロ秒精度サポートについてかつてのMySQL(バージョン5.6.4以前)では、ミリ秒やマイクロ秒といった小数秒の精度を扱うことができませんでした。しかし、現在のMySQLでは、TIME型・DATETIME型・TIMESTAMP型においてミリ秒/マイクロ秒の精度が正式にサポートされています。公式ドキュメントには次のように記載されています。「MySQLはTIME、DATETIME、TIMESTAMPの値に対して小数秒をサポートし、最大マイクロ秒精度まで扱うことができます」MySQLのバージョンを確認する方法お使いの環境で小数秒が利用できるかどうかは、まずMySQLのバージョ

  12. MySQLであるデータベースから別のデータベースへテーブルをコピーする方法

    MySQLでは、INSERT INTO ... SELECT構文を使うことで、あるデータベースのテーブルデータを別のデータベースへ簡単にコピーできます。 テーブルをコピーする基本構文 別のデータベースへテーブルをコピーする際の基本的な構文は以下の通りです。 INSERT INTO コピー先データベース名.テーブル名 SELECT * FROM コピー元データベース名.テーブル名; それでは、実際のコマンド例を使いながら手順を詳しく見ていきましょう。 ステップ1:コピー元のテーブルを作成する まず、CREATEコマンドを使って「business」データベース内に新しいテーブルを作成します。

  13. MySQLで現在の日付・時刻を挿入する方法を解説

    MySQLで現在の日付や時刻をテーブルに挿入したい場合、NOW()関数を使用するのが最も簡単な方法です。この記事では、実際の例を通して具体的な手順をわかりやすく解説します。1. テーブルを作成するまず、日付・時刻を格納するためのテーブルを作成します。テーブルの作成にはCREATE TABLEコマンドを使用します。mysql> create table CurrentDateTime -> ( -> CurrentTime datetime -> ); Query OK, 0 rows affected (1.14 sec)ここでは「CurrentDateTime」という

  14. MySQLで実行中のすべてのクエリを一覧表示するにはどうすればよいですか?

    MySQLで実行中のクエリを一覧表示する方法 MySQLで現在実行中のクエリや接続プロセスを一覧表示するには、SHOW PROCESSLIST コマンドを使用します。このコマンドにより、サーバー上で動作しているすべてのスレッドの状態を確認できます。 基本構文 以下のコマンドを実行します。 mysql> SHOW processlist; 実行結果の例 上記コマンドの出力例は以下のとおりです。 +----+-----------------+-----------------+----------+---------+-------+-----------------------

  15. MySQLで既存のカラムにNOT NULL制約を追加する方法をわかりやすく解説

    MySQLで既存のカラムにNOT NULL制約を追加するには、ALTERコマンドを使用します。NOT NULL制約とは、テーブルにNULL値が入力されるのを防ぐためのバリデーション(検証ルール)の一種であり、データの整合性を保つうえで重要な役割を果たします。 サンプルテーブルの作成 まずは動作を確認するためのテーブルを作成しましょう。テーブルの作成にはCREATEコマンドを使用します。 mysql> create table AddNotNUlldemo -> ( -> name varchar(100) -> ); Query OK, 0 ro

  16. MySQLでカラムを一意(ユニーク)にする方法|UNIQUE制約の設定手順と重複エラーの確認

    MySQLにおける「一意(UNIQUE)」とは、同じカラム内に重複した値を登録できないようにする制約のことです。メールアドレスやユーザーIDなど、一意性が求められるデータを扱う際に非常に重要な機能です。この記事では、テーブル作成時にUNIQUE制約を設定する方法と、実際に重複データを挿入した際の動作について解説します。 テーブル作成時にUNIQUE制約を設定する まず、テーブルを作成する際にUNIQUE制約を付与する基本的な構文を見ていきましょう。以下の例では、「name」カラムにUNIQUE制約を設定したテーブルを作成しています。 mysql> create table UniqueC

  17. MySQLクエリでDISTINCTとCOUNTを組み合わせて使う方法

    MySQLでDISTINCTとCOUNTを組み合わせる方法 MySQLでは、DISTINCTとCOUNTを1つのクエリ内で同時に使用することができます。この組み合わせを活用すると、重複する値を除外した上でレコード数をカウントできるため、ユニークなデータの件数を簡単に求められます。 それでは、実際にサンプルテーブルを作成して動作を確認していきましょう。テーブルの作成にはCREATE TABLEコマンドを使用します。 mysql> create table DistCountDemo -> ( -> id int, -> name varchar(100

  18. MySQLのフィールド値から先頭と末尾の空白を削除する方法

    MySQLで文字列の前後の空白を削除するには MySQLでは、TRIM() 関数を使うことで、文字列の先頭および末尾にある空白(ホワイトスペース)を簡単に削除できます。データベースに保存された値に不要な空白が混入していると、検索や比較が正しく行えないことがあるため、そうしたケースで TRIM() 関数は非常に便利です。 TRIM() 関数の基本構文 mysql> SELECT TRIM( AnyStringWithWhitespaces ); TRIM() 関数に文字列を渡すと、先頭と末尾の空白が取り除かれた文字列が返されます。 SELECT文での使用例 実際に、前後に空白を含む文字

  19. MySQLで日時をUnixタイムスタンプに変換する方法

    MySQLでは、UNIX_TIMESTAMP() 関数を使用することで、日時の値をUnixタイムスタンプに変換できます。Unixタイムスタンプとは、1970年1月1日00:00:00 UTCからの経過秒数を表す数値で、システム間での日時データのやり取りに広く使われています。UNIX_TIMESTAMP()関数で日時をUnixタイムスタンプに変換するまず、STR_TO_DATE()関数で文字列の日時を日付型に変換し、その結果をUNIX_TIMESTAMP()関数に渡すことで、Unixタイムスタンプを取得できます。以下がそのクエリの例です。 SELECT UNIX_TIMESTAMP(STR_TO

  20. MySQLのKEYキーワードとは?INDEXとの違いや使い方を実例付きで解説

    MySQLにおけるKEYキーワードの意味MySQLでは、KEYはインデックス(INDEX)と同義語として扱われます。特定のカラムに対してインデックスを作成したい場合は、「KEY」キーワードを使用します。MySQLの公式ドキュメントには、次のように記載されています。「KEYは通常、INDEXの同義語である。PRIMARY KEY属性は、カラム定義の中で指定する場合、単にKEYと記述することもできる。これは他のデータベースシステムとの互換性のために実装された機能である。」KEYとプライマリキー(PRIMARY KEY)を組み合わせた使用例それでは、実際にKEYを使った例を見ていきましょう。まずはテ

Total 4564 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:171/229  20-コンピューター/Page Goto:1 165 166 167 168 169 170 171 172 173 174 175 176 177