MySQL テーブルと列のコメントの概要

MySQL テーブルと列のコメントの概要

コードと同様に、テーブルや列にコメントを追加して、他のユーザーがその機能を理解できるようにすることができます。一部のフィールドでは、作成者が一定期間後にその特定の意味を思い出せなくなる可能性があるため、注釈は特に重要です。

コメントの追加<br /> コメントは、テーブルまたは列定義の末尾に COMMENT キーワードを追加することで追加されます。サポートされる最大長は 1024 文字です。

テーブルを作成するときに、テーブルと列に対応するコメントを追加できます。

テーブル test_comment を作成する 
 ( 
   id シリアルプライマリキー、 
   col1 INT コメント '列コメント' 
 ) 
comment 'テーブルに関するコメント';

上記のステートメントを実行すると、test_comment という名前のテーブルが作成され、テーブルと col1 列に対応するコメントが指定されます。

その後、SHOW CREATE TABLE <table_name> を通じてそれを表示できます。

mysql> SHOW CREATE TABLE test_comment\G
************************** 1. 行 ****************************
    テーブル: test_comment
テーブルの作成: CREATE TABLE `test_comment` (
 `id` bigint(20) 符号なし NOT NULL AUTO_INCREMENT,
 `col1` int(11) DEFAULT NULL COMMENT '列コメント',
 主キー (`id`)、
 ユニークキー `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='テーブルコメント'
セット内の 1 行 (0.00 秒)

コメントを表示

SHOW CREATE TABLE <table_name> 構文に加えて、コメントを表示する他の方法もあります。

SHOW TABLE STATUS はテーブルのコメントを表示できます。構文は次のとおりです。

SHOW TABLE STATUS WHERE name='table_name';
SHOW TABLE STATUS で表示した結果は次のとおりです。

mysql> SHOW TABLE STATUS WHERE name='test_comment'\G
************************** 1. 行 ****************************
      名前: test_comment
     エンジン: InnoDB
    バージョン: 10
   行形式: 動的
      行数: 0
 平均行長: 0
  データ長: 16384
最大データ長: 0
  インデックスの長さ: 16384
   データ空き容量: 0
 自動増分: 1
  作成時間: 2019-05-11 15:41:01
  更新時間: NULL
   チェック時間: NULL
   照合: utf8mb4_general_ci
    チェックサム: NULL
 作成オプション:
    コメント: セット内のテーブル 1 行のコメント (0.00 秒)

列のコメントは、SHOW FULL COLUMNS を通じて表示できます。構文は次のとおりです。

<テーブル名> から全列を表示

以下は、SHOW FULL COLUMNS を使用して表示した結果です。

mysql>test_comment\G から全列を表示
************************** 1. 行 ****************************
   フィールド: id
   型: bigint(20) unsigned
 照合: NULL
   ヌル: いいえ
    キー: PRI
  デフォルト: NULL
   追加: auto_increment
権限: 選択、挿入、更新、参照
  コメント:
************************** 2. 行 ****************************
   フィールド: col1
   タイプ: int(11)
 照合: NULL
   ヌル: はい
    鍵:
  デフォルト: NULL
   余分な:
権限: 選択、挿入、更新、参照
  コメント: 列コメント 2 行セット (0.00 秒)

テーブルまたは列のコメントは、INFORMATION_SCHEMA のテーブルを使用して表示することもできます。

たとえば、次の表のコメントを表示します。

テーブルコメントを選択 
information_schema.tables から 
ここで、table_name = 'test_comment';

実行結果:

mysql> テーブルコメントを選択
  -> information_schema.tables から
  -> WHERE table_name = 'test_comment';
+---------------+
| テーブルコメント |
+---------------+
| 表の注記 |
+---------------+
セット内の1行(0.01秒)

列のコメントを表示します。

SELECT列コメント 
information_schema.columns から 
ここで、列名 = 'col1';

実行結果:

mysql> SELECT 列コメント
  -> information_schema.columns から
  -> WHERE 列名 = 'col1';
+----------------+
| コラムコメント |
+----------------+
| コラムノート |
+----------------+
セット内の 1 行 (0.00 秒)

コメントの更新<br /> 既存のテーブルと列に対して、対応する更新および変更操作を実行することでコメントを追加できます。

コラムコメントの追加と更新
CHANGE と MODIFY は同等ですが、違いは、CHANGE は列定義を書き換えるため、列を変更しない場合でも新しい列名を含む完全な列定義を記述する必要があるのに対し、MODIFY では新しい列名の指定が必要ないことです。

CHANGE 構文経由:

mysql> ALTER TABLE test_comment CHANGE col1 col1 INT COMMENT '列コメント2';
クエリは正常、影響を受けた行は 0 行 (0.02 秒)
レコード: 0 重複: 0 警告: 0

MODIFY 構文経由:

mysql> ALTER TABLE test_comment MODIFY col1 INT COMMENT '列コメント2';
クエリは正常、影響を受けた行は 0 行 (0.02 秒)
レコード: 0 重複: 0 警告: 0

変更結果を表示します:

mysql> SHOW CREATE TABLE test_comment\G
************************** 1. 行 ****************************
    テーブル: test_comment
テーブルの作成: CREATE TABLE `test_comment` (
 `id` bigint(20) 符号なし NOT NULL AUTO_INCREMENT,
 `col1` int(11) DEFAULT NULL COMMENT '列コメント2',
 主キー (`id`)、
 ユニークキー `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='テーブルコメント'
セット内の 1 行 (0.00 秒)

テーブルコメントの追加と更新は、ALTER TABLE を通じて行われます。

mysql> ALTER TABLE test_comment comment 'テーブルコメント2';
クエリは正常、影響を受けた行は 0 行 (0.01 秒)
レコード: 0 重複: 0 警告: 0

更新結果を表示します:

mysql> SHOW CREATE TABLE test_comment\G
************************** 1. 行 ****************************
    テーブル: test_comment
テーブルの作成: CREATE TABLE `test_comment` (
 `id` bigint(20) 符号なし NOT NULL AUTO_INCREMENT,
 `col1` int(11) DEFAULT NULL COMMENT '列コメント2',
 主キー (`id`)、
 ユニークキー `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='テーブルコメント 2'
セット内の 1 行 (0.00 秒)

コメントの削除<br /> コメントを更新する場合は、空を指定するだけです。

mysql> ALTER TABLE test_comment COMMENT '';
クエリは正常、影響を受けた行は 0 行 (0.01 秒)
レコード: 0 重複: 0 警告: 0

mysql> ALTER TABLE test_comment MODIFY col1 INT COMMENT '';
クエリは正常、影響を受けた行は 0 行 (0.01 秒)
レコード: 0 重複: 0 警告: 0

削除結果を表示します:

mysql> SHOW CREATE TABLE test_comment\G
************************** 1. 行 ****************************
    テーブル: test_comment
テーブルの作成: CREATE TABLE `test_comment` (
 `id` bigint(20) 符号なし NOT NULL AUTO_INCREMENT,
 `col1` int(11) デフォルト NULL,
 主キー (`id`)、
 ユニークキー `id` (`id`)
) エンジン=InnoDB デフォルト文字セット=utf8mb4 照合=utf8mb4_general_ci
セット内の 1 行 (0.00 秒)

以下もご興味があるかもしれません:
  • あるテーブルのデータの列を別のテーブルの列にコピーするMySQLメソッド
  • MySQL FAQ シリーズ: 一時テーブルを使用する場合
  • SqlクエリMySqlデータベーステーブル名と説明テーブルフィールド(列)情報
  • Java+MySQLの再帰を使用してツリー型のJSONリストを連結する方法の例
  • Mysql テーブル、列、データベースの追加、削除、変更、クエリの問題の概要
  • Python モジュール pymysql の結果をクエリした後にフィールド リストを取得する方法
  • 指定フィールドによるMySQLカスタムリストのソートの実装

<<:  VMware に CentOS7 をインストールし (静的 IP アドレスを設定)、Docker コンテナ経由で mySql データベースをインストールする (非常に詳細なチュートリアル)

>>:  webpackでHMRを手動で実装するいくつかの方法

推薦する

HTML テーブルの使い方 (Web ページの視覚効果を表示する)

NetEase Blog で HTML を使用する場合、テンプレートに直接コードを追加できることは...

HTML面接の質問の要約

1. doctypeの役割、厳密モードと混合モードの違い、そしてその重要性1. 構文形式: <...

Vueのvue-tree-colorコンポーネントの組織構造図の事例を詳しく解説

目次ネプローダーをインストールするプラグインのインポート始める配置折りたたみディスプレイノードをクリ...

preタグを自動的に折り返すためのサンプルコード

pre 要素は、フォーマット済みのテキストを定義します。 pre 要素で囲まれたテキストでは、通常、...

MySQL複合クエリの詳細な説明

UNIONの使用ほとんどの SQL クエリは、1 つ以上のテーブルからデータを返す単一の SELEC...

yum を使用して rpm と関連する依存関係をダウンロードして、docker をオフラインでインストールします。

yum を使用してすべての依存関係を一緒にインストールできますが、–downloadonly –d...

MySQL データベース ターミナル - 一般的な操作コマンド コード

目次1. ユーザーを追加する2. ユーザー名とホストを変更する3. パスワードを変更する4. ユーザ...

Vue における nextTick の役割といくつかの簡単な使用シナリオ

目的nextTickの役割といくつかの簡単な使用シナリオを理解する文章その機能は何ですか?遅延コール...

Docker イメージ管理の一般的な操作コード例

ミラーリングも Docker のコアコンポーネントの 1 つです。ミラーリングはコンテナ操作の基盤で...

Linux リモート コントロール Windows システム プログラム (3 つの方法)

場合によっては、Windows システム上のプログラムを Linux 上でリモートで実行する必要があ...

数千万データを持つMySQLテーブルを最適化する実践記録

序文まずここで説明させてください。インターネット上では、Alibaba では 500 万のデータを異...

Vue 監視属性のグラフィック例の詳細な説明

目次リスナープロパティとは何ですか?リスニングプロパティと計算プロパティの違いは何ですか?監視プロパ...

CentOS 7 に mysql5.7 の解凍バージョンをインストールするチュートリアル

1. mysqlの圧縮パッケージを/usr/localフォルダに解凍し、名前をmysqlに変更します...

W3C チュートリアル (2): W3C プログラム

W3C 標準化プロセスは 7 つの異なるステップに分かれています。 W3C 標準化プロセスは 7 つ...

MySQL無料インストール版のパスワードの設定と変更に関するチュートリアル

ステップ 1: 環境変数を構成する (解凍パス: G:\mysql\mysql-5.7.21-win...