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

推薦する

仮想マシンUbuntu 16.04がインターネットに接続できない問題の解決策

Ubuntu をインストールしたばかりですが、開いたときにネットワーク接続がありませんでした。右上隅...

HTML における相対と絶対の使用法と違いの詳細な説明

HTML における相対と絶対の違い: 正直に言うと、HTML は世界で最もシンプルな言語です。タグ言...

Lvs+Nginx クラスターを使用して高並列アーキテクチャを構築する例

目次1. Lvsの紹介2. Lvs負荷分散モード2.1 NAT 2.2 ターン2.3 DRモード3....

Centos7 MySQL データベースのインストールと設定のチュートリアル

1. システム環境yum updateアップグレード後のシステムバージョンは[root@yl-web...

MySQLのインデックス選択と最適化の詳細な説明

目次インデックスモデルB+ツリーインデックスの選択インデックスの最適化インデックスの選択性カバーイン...

Ajax リクエストにおけるクロスドメイン問題の原因と解決策

目次1. クロスドメインはどのように形成されるのでしょうか? 2. クロスドメインの根本的な原因3....

Nginx を使用してグレースケール リリースを実装する

グレースケールリリースとは、白と黒をスムーズに移行できるリリース方法を指します。 ABテストとは、グ...

大規模なMySQLデータベース用のマスタースレーブシステムを構築するアイデアを共有する

今週は戦争のように忙しかったです。他人に操られているような気がします。毎日朝早く出勤して夜遅く帰り、...

MySQL Undo ログと Redo ログの概要

目次元に戻すログUNDOログの生成と破棄UNDOログの保存元に戻すログ機能トランザクションの原子性の...

Reactの3つの主要属性における状態の使用の詳細な説明

目次クラスコンポーネント機能コンポーネントsetStateの落とし穴React では多くの場所でデー...

MySQL の無効な左結合の問題を解決する方法とその使用上の注意

MySQLの左結合が無効であり、その使用方法今日SQLを書いていたとき、左結合を使用すると左のテーブ...

docker pull imageエラーの問題を解決する

説明する: Windows 10 に VM をインストールし、VM で Docker を実行し、Do...

MySQL 8.0.15 winx64 のインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0.15のインストールと設定方法を参考までに紹介します。具体的な内容は...

よくあるNginxの設定ミスの例

目次ルートの場所が見つかりませんオフバイスラッシュ安全でない変数の使用スクリプト名$uri を使用す...

Vueはmockjsを使用してシミュレートされたデータケースの詳細を生成します

目次プロジェクトにmockjsをインストールするVueプロジェクトでmockjsを使用する基本的なプ...