ホームページ  >  記事  >  データベース  >  mysqlでテーブルのタイプを変更する方法

mysqlでテーブルのタイプを変更する方法

青灯夜游
青灯夜游オリジナル
2021-12-10 18:18:365209ブラウズ

mysql では、「alter table」ステートメントと「type」キーワードを使用してテーブルのタイプを変更できます。「alter table」ステートメントは、元のテーブルの構造を変更するために使用されます。構文形式は「alter table table" name type = 指定された型名;」です。

mysqlでテーブルのタイプを変更する方法

このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。

最近、MySQL テーブル タイプの変更に関する問題が発生しました。phpmyadmin を使用して mysql データベースを管理したとき、作成されたテーブルはデフォルトで MyISAM タイプになっており、テーブル タイプを変更する方が便利でした。ただし、phpmyadmin の設定に問題があり、それを行うのが面倒なので、より便利な別の mysql 管理ツールをインストールしました。ただ、新規に作成したテーブルはデフォルトでInnoDB型となっており、以前移行した際にはこの型で問題が発生しやすく、どちらが良いとは言えませんでしたが、個人的にはMyISAMの方が良いと感じたので、 MyISAMタイプに変換してみました。このツールを長い間探していたのですが、修正方法が見つかりません。Shuishen に尋ねましたが、わかりませんでした。幸いなことに、文章を修正するための sql コマンドをインターネットで見つけましたが、sql ステートメントは依然として強力なようです。

mysql テーブル タイプを変更するための SQL ステートメント:

alter table 表名 type = MyISAM;
alter table 表名 type = InnoDB;

添付された mysql テーブル タイプの説明

MyISAM: これは、従来の ISAM 型をベースにしたデフォルト型 ISAM とは、Indexed Sequential Access Method (索引順次アクセス方式) の略で、レコードやファイルを格納するための標準的な方式です。他のストレージ エンジンと比較して、MyISAM にはテーブルをチェックして修復するためのほとんどのツールが備わっています。 MyISAM テーブルは圧縮でき、全文検索をサポートします。これらはトランザクション安全ではなく、外部キーをサポートしていません。ロールバックすると不完全なロールバックが発生し、アトミックではありません。大量の SELECT を実行する場合は、MyISAM を選択することをお勧めします。

InnoDB: このタイプはトランザクションに対して安全です。 BDB タイプと同じ特性を持ち、外部キーもサポートします。 InnoDB テーブルは高速で、BDB よりも豊富な機能を備えているため、トランザクションセーフなストレージ エンジンが必要な場合はこれを使用することをお勧めします。データで頻繁に INSERT または UPDATE が実行される場合は、パフォーマンス上の理由から InnoDB テーブルを使用する必要があります。

サポートする InnoDB タイプのラベルの場合、速度に影響を与える主な理由は AUTOCOMMI です。デフォルト設定はオンで、プログラムは明示的に BEGIN を呼び出してトランザクションを開始しないため、挿入されたラベルごとに自動コミットが行われます。速度に重大な影響を与えるアイテム。 SQL を実行する前に begin を呼び出すことができます。複数の SQL が 1 つのトランザクションを形成し (自動コミットがオンになっている場合でも)、パフォーマンスが大幅に向上します。

mysql でサポートされるタイプ (エンジン): MyISAM、InnoDB、BDB、MEMORY、MERGE、EXAMPLE、NDBCluster、ARCHIVE、CSV、BLACKHOLE、FEDERATED など。そのうち、InnoDB と BDB はトランザクション セーフティ テーブルを提供します、その他 ストレージ エンジンは、トランザクション安全ではないテーブルです。

[関連する推奨事項: mysql ビデオ チュートリアル ]

以上がmysqlでテーブルのタイプを変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。