MySQLテーブルストレージエンジンを更新する方法
MySQLテーブルエンジンを更新するには、次の構文に従います-
構文
alter table yourTableName ENGINE=InnoDB;
まずテーブルを作成しましょう-
mysql> create table DemoTable -> ( -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(20), -> StudentAge int, -> StudentCountryName varchar(20) -> )ENGINE=MyISAM,AUTO_INCREMENT=101; Query OK, 0 rows affected (0.18 sec)
表の説明を確認しましょう-
mysql> show create table DemoTable;
これにより、次の出力が生成されます-
+---------------+-----------------------------------------------------------------------------------------+ | Table | Create Table | +---------------+-----------------------------------------------------------------------------------------+ | DemoTable | CREATE TABLE `DemoTable` ( `StudentId` int(11) NOT NULL AUTO_INCREMENT, `StudentName` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, `StudentAge` int(11) DEFAULT NULL, `StudentCountryName` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`StudentId`) ) ENGINE=MyISAM AUTO_INCREMENT=101 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci | +---------------+------------------------------------------------------------------------------------------+ 1 row in set (0.50 sec)
これがMySQLテーブルエンジンを更新するためのクエリです-
mysql> alter table DemoTable ENGINE=InnoDB; Query OK, 0 rows affected (1.21 sec) Records: 0 Duplicates: 0 Warnings: 0
テーブルの説明をもう一度確認しましょう-
mysql> show create table DemoTable;
これにより、次の出力が生成されます-
+---------------+-----------------------------------------------------------------------------------------+ | Table | Create Table | +---------------+-----------------------------------------------------------------------------------------+ | DemoTable | CREATE TABLE `DemoTable` ( `StudentId` int(11) NOT NULL AUTO_INCREMENT, `StudentName` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, `StudentAge` int(11) DEFAULT NULL, `StudentCountryName` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`StudentId`) ) ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci | +---------------+------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)
-
MySQLテーブルがmyISAMまたはInnoDBエンジンを使用しているかどうかを確認するにはどうすればよいですか?
MySQLテーブルがMyISAMまたはInnoDBエンジンを使用していることを知るには、コマンドshowstatustableを使用できます。構文は次のとおりです- SHOW TABLE STATUS from yourDatabaseName LIKE ‘yourTableName’. 上記の構文は、特定のテーブルエンジンについて説明しています。これで、上記の構文を適用して、MySQLテーブルエンジンがMyISAMとInnoDBのどちらを使用しているかを知ることができます。 ここに、データベース「business」とテーブル「student」があります。クエリは次
-
MySQLテーブルをJavaMySQLで更新します
このためには、JavaでPreparedStatementを使用して更新する必要があります。まずテーブルを作成しましょう- mysql> create table DemoTable( Id int, FirstName varchar(40) ); Query OK, 0 rows affected (0.62 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(100,'Chris'); Query OK, 1