MySQLでテーブルエンジンを変更するにはどうすればよいですか?
alter table yourTableName ENGINE = yourEngineName;
上記の構文を理解するために、エンジンMyISAMを使用してテーブルを作成しましょう。後で他のエンジンを変更できます。以下は、テーブルを作成するためのクエリです。
mysql> create table ChangeEngineTableDemo −> ( −> MovieId int, −> MovieName varchar(100), −> IsPopular bool −> )ENGINE = 'MyISAM'; Query OK, 0 rows affected (0.37 sec)>
上記のクエリを見てください。テーブルエンジンはMyISAMです。これで、他のエンジンに変更できます。ここでは、エンジンタイプInnoDBを変更します。エンジンタイプを変更するためのクエリは次のとおりです-
mysql> alter table ChangeEngineTableDemo ENGINE = InnoDB; Query OK, 0 rows affected (2.21 sec) Records: 0 Duplicates: 0 Warnings: 0
showコマンドを使用してエンジンタイプが変更されたかどうかを確認するには、次のクエリを実行します-
mysql> show create table ChangeEngineTableDemo;
以下は出力です-
+-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | ChangeEngineTableDemo | CREATE TABLE `changeenginetabledemo` ( `MovieId` int(11) DEFAULT NULL, `MovieName` varchar(100) DEFAULT NULL, `IsPopular` tinyint(1) DEFAULT NULL ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci | +-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.03 sec)
-
MySQLテーブルがmyISAMまたはInnoDBエンジンを使用しているかどうかを確認するにはどうすればよいですか?
MySQLテーブルがMyISAMまたはInnoDBエンジンを使用していることを知るには、コマンドshowstatustableを使用できます。構文は次のとおりです- SHOW TABLE STATUS from yourDatabaseName LIKE ‘yourTableName’. 上記の構文は、特定のテーブルエンジンについて説明しています。これで、上記の構文を適用して、MySQLテーブルエンジンがMyISAMとInnoDBのどちらを使用しているかを知ることができます。 ここに、データベース「business」とテーブル「student」があります。クエリは次
-
MySQLにテーブルが存在するかどうかを検出するにはどうすればよいですか?
テーブルの存在を検出するには、INFORMATION_SCHEMA.TABLESの概念を使用します。構文は次のとおりです- select table_name from information_schema.tables where table_schema=database() and table_name=yourTableName; 上記の構文を理解するために、テーブルを作成しましょう- mysql> create table DemoTable2032 -> ( -> ClientId int, &n