MySQLデータベーステーブルのデータベースエンジンを変更するにはどうすればよいですか?
まず、MySQLデータベースのタイプ、つまりそのエンジンがInnoDBかMyISAMかを判別します。これを実現するには、information_schema.columns.tablesのエンジン列を使用します。
構文は次のとおりです。
SELECT ENGINE FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = ’yourDatabaseName’ AND TABLE_NAME = ’yourTableName’;
ここに、「StudentInformations」という名前のテーブルがあります-
mysql> create table StudentInformations -> ( -> StudentId int not null auto_increment, -> StudentFirstName varchar(20), -> StudentLastName varchar(20), -> Primary Key(StudentId) -> ); Query OK, 0 rows affected (0.57 sec)
これで、上記の構文の実装を使用して、テーブルがInnoDBまたはMyISAMを使用していることがわかります。私たちのデータベースは「テスト」です。
同じ-
のクエリは次のとおりです。mysql> select engine from information_schema.tables -> where table_schema = 'test' -> and table_name = 'StudentInformations';
以下は出力です-
+--------+ | ENGINE | +--------+ | InnoDB | +--------+ 1 row in set (0.05 sec)
alterコマンドを使用して、「StudentInformations」テーブルのエンジンを変更します。任意のテーブルのエンジンを変更するための構文は次のとおりです。
ALTER TABLE yourTableName ENGINE = ‘yourEngineName’;
ここで、エンジンInnoDBをMyISAMに変更しましょう。クエリは次のとおりです-
mysql> alter table StudentInformations ENGINE = 'MyISAM'; Query OK, 6 rows affected (1.84 sec) Records − 6 Duplicates − 0 Warnings − 0
上に表示された結果は、テーブルに6行あるため、6行が影響を受けることを示しています。
テーブルがInnoDBからMyISAMに変換されているかどうかを確認するには、次のクエリを実行します-
mysql> select engine from information_schema.tables -> where table_schema = 'test' -> and table_name = 'StudentInformations';
エンジンが正常に更新されたことを示す出力は次のとおりです-
+--------+ | ENGINE | +--------+ | MyISAM | +--------+ 1 row in set (0.00 sec)
-
MySQLデータベースにすでにある空のテーブルをチェックする方法は?
空のテーブルがデータベースにあることを確認するには、テーブルからいくつかのレコードを抽出する必要があります。テーブルが空でない場合、テーブルレコードが返されます。 まずテーブルを作成しましょう- mysql> create table DemoTable(Id int,Name varchar(100),Age int); Query OK, 0 rows affected (0.80 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(1001,'John',23
-
MySQLテーブルストレージエンジンを更新する方法
MySQLテーブルエンジンを更新するには、次の構文に従います- 構文 alter table yourTableName ENGINE=InnoDB; まずテーブルを作成しましょう- mysql> create table DemoTable -> ( -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(20), -> StudentAge int, &nbs