MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLでテーブルをMyISAMからINNODBに変換しますか?


これには、ALTERコマンドを使用します。まず、テーブルを作成しましょう。デフォルトのエンジンは「MYISAM」に設定されています-

mysql> create table DemoTable
-> (
-> ClientId int NOT NULL AUTO_INCREMENT,
-> ClientName varchar(100),
-> ClientAge int,
-> ClientCountryName varchar(100),
-> isMarried boolean,
-> PRIMARY KEY(ClientId)
-> )ENGINE=MyISAM;
Query OK, 0 rows affected (0.67 sec)

以下は、テーブルをMyISAMからINNODBに変換するためのクエリです-

mysql> alter table DemoTable ENGINE=InnoDB;
Query OK, 0 rows affected (1.97 sec)
Records: 0 Duplicates: 0 Warnings: 0

テーブルのステータスを確認しましょう-

mysql> show create table DemoTable;

出力

これにより、更新されたENGINEをInnoDB-

として表示する次の出力が生成されます。
+--------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table        | Create Table                                                                                                                                                                                                                       |
+--------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| DemoTable | CREATE TABLE `DemoTable` (`ClientId` int(11) NOT NULL AUTO_INCREMENT, `ClientName` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, `ClientAge` int(11) DEFAULT NULL, `ClientCountryName` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, `isMarried` tinyint(1) DEFAULT NULL, PRIMARY KEY (`ClientId`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci |
+--------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

  1. MySQLテーブルから一意の制約を削除しますか?

    まず、UNIQUE制約のあるテーブルを作成しましょう。重複する値を追加できないことを示しています。 テーブルを作成します。 mysql> create table UniqueConstraintDemo -> ( -> Name varchar(200) unique -> ); Query OK, 0 rows affected (1.05 sec) これで、DESCコマンドを使用して、テーブルにUNIQUE制約があるかどうかを確認できます。クエリは次のとおりです。 mysql> DESC UniqueConstraintDemo;

  2. MySQLテーブルがmyISAMまたはInnoDBエンジンを使用しているかどうかを確認するにはどうすればよいですか?

    MySQLテーブルがMyISAMまたはInnoDBエンジンを使用していることを知るには、コマンドshowstatustableを使用できます。構文は次のとおりです- SHOW TABLE STATUS from yourDatabaseName LIKE ‘yourTableName’. 上記の構文は、特定のテーブルエンジンについて説明しています。これで、上記の構文を適用して、MySQLテーブルエンジンがMyISAMとInnoDBのどちらを使用しているかを知ることができます。 ここに、データベース「business」とテーブル「student」があります。クエリは次