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を手動で実装するいくつかの方法

推薦する

vue.js 動的コンポーネントの詳細な説明

:動的コンポーネントv-bind:is="component name" を使用...

HTMLシールドの右クリックメニューと左クリック入力機能の例

右クリックメニューを無効にする <body oncontextmenu=self.event....

VUE無限レベルツリーデータ構造表示の実装

目次コンポーネントの再帰呼び出しレンダリングメソッドの使用プロジェクトに取り組んでいると、左側のメニ...

JavaScript初心者がよく犯す間違い

目次序文undefined と null の混同紛らわしい数値の加算と文字列の連結戻り文の改行の問題...

Dockerコンテナを終了した後も実行を継続する方法

現象:イメージを実行します (例: ubuntu14.04)。 docker run -it --r...

MYSQLデータベーステーブル構造の最適化方法の詳細な説明

この記事では、例を使用して、MYSQL データベース テーブル構造を最適化する方法を説明します。ご参...

MySQL での mysqladmin 日常管理コマンドの概要 (必読)

mysqladmin ツールの使用形式は次のとおりです。 mysqladmin [オプション] コ...

モバイル開発における 1px ラインの理解と解決策

1pxの線が太くなる理由モバイルプロジェクトに取り組むとき、設計図に従って要素ノードのサイズとスタイ...

Nginx リバース プロキシを使用してクロスドメイン問題を解決する方法の詳細な説明

質問前回のクロスドメイン リソース共有に関する記事では、ドメイン間で Cookie を送信する場合、...

MySQL主キー命名戦略関連

最近、データライフサイクル管理の詳細を整理していたときに、小さな問題を発見しました。それは、MySQ...

HTMLデータ送信投稿_PowerNode Java Academy

HTTP/1.1 プロトコルで指定されている HTTP リクエスト メソッドには、OPTIONS、...

MySQL 完全折りたたみクエリ正規マッチングの詳細な説明

概要前の章では、クエリのフィルター条件について学習しました。MySQL では、like % ワイルド...

ページコンテンツ全体を中央に配置して、高さがコンテンツに合わせて自動的に拡張されるようにする方法

ページコンテンツ全体を中央に配置する方法と、コンテンツに合わせて高さを自動的に拡大縮小する方法。これ...

mysql 5.7.11 winx64 初期パスワード変更

公式サイトからMySQL-5.7.11-winx64の圧縮版をダウンロード。インストール後、パスワー...

Dockerはローカルイメージとコンテナの保存場所を設定します

指定したサイズより大きいファイルを検索するには、find コマンドを使用します。 検索 / -typ...