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

推薦する

MySQL ストアド プロシージャで case ステートメントを使用する詳細な例

この記事では、例を使用して、MySQL ストアド プロシージャでの case ステートメントの使用方...

フロントエンドページのスライド検証を実装するための JavaScript + HTML

この記事では、フロントエンドページのスライド検証を実装するためのJavaScript + HTMLの...

MYSQLパターンマッチングREGEXPの使用に関する一般的な話など

のようにLIKE ではデータ全体が一致する必要がありますが、REGEXP では部分的な一致のみが必要...

Docker nginxは1つのホストを実装して複数のサイトを展開します

とあるサイトからレンタルした仮想マシンの有効期限が近づいており、更新料が200元以上かかります。Al...

VMwareでCentOSがインターネットにアクセスできない問題を素早く解決

昨日、VMware に CentOS7 をインストールしました。Tomcat パッケージを転送するた...

Ubuntu環境でxdebugをコンパイルしてインストールする方法

この記事では、Ubuntu 環境で xdebug をコンパイルしてインストールする方法について説明し...

Linux環境でIPV6接続をサポートするようにmysql5.6を設定する方法

導入:この記事では主に、Linux システムで IPV6 接続をサポートするように MySQL を構...

ログインインターフェースの使いやすさとセキュリティのバランスをとる方法

ウェブデザイナーでもUIデザイナーでも、ログインページや登録ページのデザインは必ず経験しなければなら...

いくつかの CSS3 タグの短縮形 (推奨)

border-radius: CSS3 丸い角構文: border-radius: 25px;楕円...

Docker を使用して Django プロジェクトをデプロイする方法の例

また、Dockerを使用してDjangoプロジェクトをデプロイするのも非常に簡単です。とても良いです...

MySQL ストアド プロシージャの概念、原則、一般的な使用法の詳細な説明

この記事では、例を使用して、MySQL ストアド プロシージャの概念、原則、および一般的な使用法につ...

Vue 3.0 カスタムディレクティブの使い方

目次1. カスタム指示1. グローバルカスタム指示を登録する2. グローバルカスタム指示を使用する3...

JavaScript配列の組み込みメソッドの詳細な説明

目次1. Array.at() 2. Array.copyWithin() 3. 配列.entrie...

jQuery はシャッター効果を実現します (li 配置を使用)

この記事では、ブラインド効果を実現するためのjQueryの具体的なコードを参考までに紹介します。具体...

Windows で Mysql を起動したときに 1067 が表示される場合の解決策

数日前に仕事を始めて、Mysql をインストールしたところ、開くことができました。今日、会社に行った...