MySQLテーブルまたはインデックスの再構築または修復
テーブルとインデックスの変更は、MySQLがデータ型と文字セットを処理する方法を指します。必要なテーブルの修復またはアップグレードは、CHECK TABLE、mysqlcheck、またはmysql_upgradeによって報告されます。
テーブルを再構築する
テーブルを再構築する方法はたくさんあります。それらのいくつかは以下にリストされています-
-
ダンプとリロードの方法
-
ALTERTABLEメソッド
-
REPAIRTABLEメソッド
それぞれを簡単に理解しましょう-
ダンプとリロードの方法
バイナリ(インプレース)アップグレードまたはダウンロード後に異なるバージョンのMySQLバージョンがテーブルを処理できないためにテーブルが再構築されている場合は、このダンプとリロードの方法を使用する必要があります。
テーブルは、ダンプして再ロードすることで再構築できます。これは、「mysqldump」を使用してダンプファイルを作成し、mysqlがファイルをリロードできるようにすることで実行できます。これは、以下のコマンドを使用して実行できます-
mysqldump db_name t1 > dump.sql mysql db_name < dump.sql
すべてのテーブルを単一のデータベースで再構築する必要がある場合は、テーブル名を使用せずにデータベースの名前を指定できます。以下のコマンドを使用して実行できます-
mysqldump db_name > dump.sql mysql db_name < dump.sql
すべてのデータベースのすべてのテーブルを再構築する必要がある場合は、「---すべてのデータベース」オプションを使用する必要があります。以下のコマンドを使用して実行できます-
mysqldump --all-databases > dump.sql mysql < dump.sql
ALTERTABLEメソッド
ALTER TABLEメソッドを使用してテーブルを再構築する必要がある場合は、「null」変更を使用できます。ストレージエンジンを使用できるようにテーブルを変更するALTERTABLEステートメントを使用できます。例を見てみましょう。TblNameがInnoDBテーブルであるとすると、以下のステートメントを使用してテーブルを再構築できます-
ALTER TABLE TblName ENGINE = InnoDB;
REPAIRTABLEメソッド
REPAIR TABLEメソッドは、MyISAM、ARCHIVE、およびCSVテーブルにのみ適用できます。ステートメントREPAIRTABLEは、テーブルチェック操作でファイルが破損している、またはアップグレードが必要であることが示唆された場合に使用できます。例を見てみましょう。MyISAMテーブルを修復するために、次のステートメントを実行できます-
REPAIR TABLE TblName;
mysqlcheck --- repairは、REPAIRTABLEステートメントへのコマンドラインアクセスを提供します。これは、---データベースを使用してデータベース内の特定のテーブルを修復したり、--- all-databasesオプションを使用してすべてのデータベース内のすべてのテーブルを修復したりできるため、テーブルを修復するためのより便利な手段になります。以下のコマンドを使用して実行できます-
mysqlcheck −−repair −−databases db_name ... mysqlcheck −−repair −−all−databases
-
HTMLテーブル
HTMLテーブルは、タグを使用してテーブルを作成するために使用されます。テーブルでは、各行はタグを使用して指定され、テーブルヘッダーはタグを使用して定義されます。テーブルデータは、タグを使用して定義されます。 構文 以下は構文です- <table> <tr> <th>Table Header</th> <th>Table Header</th> </tr> <tr> <td>Table data</td> <td>Table data</td> &l
-
インデックスを使用してMySQLテーブルを作成するにはどうすればよいですか?
インデックスを使用してMySQLテーブルを作成するための構文は、次のとおりです- create table yourTableName ( yourColumnName1 dataType, yourColumnName2 dataType . . . N ); create index yourIndexName1 on(yourColumnName1 ); create index yourIndexName2 on(yourColumnName2 ); まずテーブルを作成しましょう- mysql> create table DemoTable ->