MySQL ALTERコマンドの知識ポイントのまとめ

MySQL ALTERコマンドの知識ポイントのまとめ

テーブル名を変更したり、テーブル フィールドを変更したりする必要がある場合は、 MySQL ALTER コマンドを使用する必要があります。

1. testalter_tbl という名前のテーブルを作成します。

2. テーブルフィールドを削除、追加、または変更する

次のコマンドは、ALTER コマンドと DROP 句を使用して、上記で作成したテーブルの i 列を削除します。

3. データ テーブルに残っているフィールドが 1 つだけの場合、DROP を使用してフィールドを削除することはできません。

MySQL では、ADD 句を使用してテーブルに列を追加します。次の例では、i フィールドを testalter_tbl テーブルに追加し、データ型を定義します。

4. 上記のコマンドを実行すると、i フィールドがデータ テーブル フィールドの末尾に自動的に追加されます。

5. 新しいフィールドの場所を指定する必要がある場合は、MySQL が提供するキーワード FIRST (最初の列に設定) と AFTER フィールド名 (特定の単語の後に設定) を使用できます。

次の ALTER TABLE ステートメントを試してください。正常に実行されたら、SHOW COLUMNS を使用してテーブル構造の変更を表示します。

6. FIRST キーワードと AFTER キーワードは ADD 句でのみ使用されるため、データ テーブル フィールドの位置をリセットする場合は、DROP を使用してフィールドを削除し、ADD を使用してフィールドを追加して位置を設定する必要があります。 FIRST および AFTER キーワードは ADD 句でのみ使用されるため、テーブル フィールドの位置をリセットする場合は、最初に DROP を使用してフィールドを削除し、次に ADD を使用してフィールドを追加して位置を設定する必要があります。

7. フィールドタイプと名前を変更する

列のタイプまたは名前を変更する必要がある場合は、ALTER コマンドで MODIFY 句または CHANGE 句を使用できます。

たとえば、フィールド c の型を CHAR(1) から CHAR(10) に変更するには、次のコマンドを実行します。

8. CHANGE 句を使用する場合、構文は大きく異なります。 CHANGE キーワードの後に​​、変更するフィールドの名前を続け、新しいフィールド名とタイプを指定します。次の例を試してください。

9. ALTER TABLEによるNULL値とデフォルト値への影響

フィールドを変更するときに、そのフィールドを含めるかどうか、またはデフォルト値を設定するかどうかを指定できます。

次の例では、指定されたフィールド j は NULL ではなく、デフォルト値は 100 です。

10. デフォルト値を設定しない場合、MySQL は自動的にフィールドを NULL に設定します。

フィールドのデフォルト値を変更する

ALTER を使用して列のデフォルト値を変更できます。次の例を試してください。

11. 次の例に示すように、ALTER コマンドと DROP 句を使用してフィールドのデフォルト値を削除することもできます。

12. データ テーブルの種類を変更するには、ALTER コマンドと TYPE 句を使用します。次の例を試してください。テーブル testalter_tbl のタイプを MYISAM に変更します。

注: SHOW TABLE STATUS ステートメントを使用して、データ テーブルの種類を表示できます。

13. テーブル名を変更する

データ テーブルの名前を変更する必要がある場合は、ALTER TABLE ステートメントの RENAME 句を使用して変更できます。

次の例を試して、データ テーブル testalter_tbl の名前を alter_tbl に変更してください。

述べる:

ストレージエンジンを変更する: myisamに変更する

テーブル tableName engine=myisam を変更します。

外部キー制約を削除します: keyName は外部キーの別名です

テーブル tableName を変更し、外部キー keyName を削除します。


フィールドの相対的な位置を変更します。ここで、name1 は変更するフィールド、type1 はフィールドの元のタイプで、first と after を選択できます。これは明らかなはずです。first は name2 フィールドの最初に配置され、after は name2 フィールドの後に配置されます。

テーブル tableName を変更し、name1 type1 を first|after name2 に変更します。

以下もご興味があるかもしれません:
  • MySQL イベント変更イベント (ALTER EVENT)、イベントの無効化 (DISABLE)、イベントの有効化 (ENABLE)、イベント名の変更、およびデータベース イベントの移行操作の詳細な説明
  • 2級コンピュータ試験のMySQL知識ポイント mysql alterコマンド
  • MySQL のテーブル変更コマンドの詳細な紹介
  • mysql テーブル変更テーブルコマンドの概要
  • テーブル構造を変更するmysql alter tableコマンドの例
  • テーブル構造を変更するmysql alter tableコマンドの詳細な説明
  • MySQL ALTERコマンドの使用方法の詳細
  • MySQL データベース ALTER コマンドの説明
  • MySQL の alter table コマンドの基本的な使用法と速度の最適化
  • MySQL 学習ノート 5: テーブルの変更 (alter table)
  • MySQL alter ignore構文の詳細な説明

<<:  Linux SSHポートを転送する3つの方法

>>:  Vue3 の組み合わせ API における setup、ref、reactive の完全な使用方法

推薦する

Windows に mysql5.7.28 winx64 の解凍バージョンをインストールするための詳細なチュートリアル

目次1. 解凍する2. データフォルダを作成する3. MySQLに環境変数を追加する3.1 コントロ...

HTML と JavaScript を使用してローカル メディア (ビデオとオーディオ) ファイルを再生する方法

まず、セキュリティ上の理由から、JavaScript はローカル リソース ファイルに直接アクセスで...

JavaScript 状態コンテナ Redux の詳細な説明

目次1. Reduxを選ぶ理由2. Reduxデータフロー3つの原則4. Reduxソースコード分析...

Nginx Rewrite の使用シナリオと設定方法の分析

Nginx Rewriteの使用シナリオ1. URL アドレスジャンプ。たとえば、ユーザーが pm....

vue-admin-template 動的ルーティング実装例

ログインを提供し、ユーザー情報データインターフェースを取得するapi/user.js内 '@...

Spring Cloud での Docker デプロイメントに jib を使用する詳細な手順

ジブの紹介Jib は Google が開発した、Java アプリケーションの Docker および ...

Mac でソースコードから MySQL 5.7.17 をコンパイルしてインストールするチュートリアル

1. ダウンロードして解凍します: /Users/xiechunping/Softwares/mys...

TypeScript におけるジェネリックケースの詳細な説明

ジェネリックの定義 // 要件 1: ジェネリックは指定されていないデータ型をサポートできるため、渡...

MySQLはパスワードなしでログインする例を実装しています

具体的な方法:ステップ1: mysqlサービスを停止する /etc/init.d/mysqld を停...

Nexus をベースに Alibaba Cloud プロキシ ウェアハウスを構成するプロセスの分析

Nexus のデフォルトのリモートリポジトリは https://repo1.maven.org/ma...

MySQL グリーンバージョン設定コードと 1067 エラーの詳細

MySQL グリーンバージョン設定コードと 1067 エラーMySQL エンコーディングを表示 &#...

Vueでeslintを使用する方法の詳細な説明

目次1. 説明2. 関連する依存パッケージをダウンロードする3. 設定ファイル .eslintrc....

HTML でフレームセット タグを使用するチュートリアル

フレームセット ページは通常の Web ページとは多少異なります。依然として <HTML>...

HTML 特殊文字エンコーディング CSS3 コンテンツに関する簡単な説明:「私は特別なシンボルです」

プロジェクトで使用されている特殊文字とアイコンHTMLコードXML/HTML コードコンテンツをクリ...

Linux 上でプライベート Git サーバーを構築するための詳細なチュートリアル

1. サーバーのセットアップリモート リポジトリは実際にはローカル リポジトリと何ら変わりなく、純粋...