MySQLまたはMariaDBのデータベース内のカラム数を確認する方法をお伝えします。

サンプルデータベースを次のように準備します。


# データベース作成
CREATE DATABASE sample_database;

# データベース指定
use sample_database;

# テーブル作成
CREATE TABLE sample01 (col11 INT, col12 CHAR(10));
CREATE TABLE sample02 (col21 INT, col22 CHAR(10), col23 DOUBLE);

データベース内のテーブルに関する情報はinformation_schema.columnsにあります。


SHOW FULL COLUMNS FROM information_schema.columns;

+--------------------------+---------------------+-----------------+------+-----+---------+-------+------------+---------+
| Field                    | Type                | Collation       | Null | Key | Default | Extra | Privileges | Comment |
+--------------------------+---------------------+-----------------+------+-----+---------+-------+------------+---------+
| TABLE_CATALOG            | varchar(512)        | utf8_general_ci | NO   |     |         |       | select     |         |
| TABLE_SCHEMA             | varchar(64)         | utf8_general_ci | NO   |     |         |       | select     |         |
| TABLE_NAME               | varchar(64)         | utf8_general_ci | NO   |     |         |       | select     |         |
| COLUMN_NAME              | varchar(64)         | utf8_general_ci | NO   |     |         |       | select     |         |
| ORDINAL_POSITION         | bigint(21) unsigned | NULL            | NO   |     | 0       |       | select     |         |
| COLUMN_DEFAULT           | longtext            | utf8_general_ci | YES  |     | NULL    |       | select     |         |
| IS_NULLABLE              | varchar(3)          | utf8_general_ci | NO   |     |         |       | select     |         |
| DATA_TYPE                | varchar(64)         | utf8_general_ci | NO   |     |         |       | select     |         |
| CHARACTER_MAXIMUM_LENGTH | bigint(21) unsigned | NULL            | YES  |     | NULL    |       | select     |         |
| CHARACTER_OCTET_LENGTH   | bigint(21) unsigned | NULL            | YES  |     | NULL    |       | select     |         |
| NUMERIC_PRECISION        | bigint(21) unsigned | NULL            | YES  |     | NULL    |       | select     |         |
| NUMERIC_SCALE            | bigint(21) unsigned | NULL            | YES  |     | NULL    |       | select     |         |
| DATETIME_PRECISION       | bigint(21) unsigned | NULL            | YES  |     | NULL    |       | select     |         |
| CHARACTER_SET_NAME       | varchar(32)         | utf8_general_ci | YES  |     | NULL    |       | select     |         |
| COLLATION_NAME           | varchar(32)         | utf8_general_ci | YES  |     | NULL    |       | select     |         |
| COLUMN_TYPE              | longtext            | utf8_general_ci | NO   |     | NULL    |       | select     |         |
| COLUMN_KEY               | varchar(3)          | utf8_general_ci | NO   |     |         |       | select     |         |
| EXTRA                    | varchar(27)         | utf8_general_ci | NO   |     |         |       | select     |         |
| PRIVILEGES               | varchar(80)         | utf8_general_ci | NO   |     |         |       | select     |         |
| COLUMN_COMMENT           | varchar(1024)       | utf8_general_ci | NO   |     |         |       | select     |         |
+--------------------------+---------------------+-----------------+------+-----+---------+-------+------------+---------+

そのinformation_schema.columnsを用いて、sample_databaseデータベース内のカラム数を確認するSQLコードは次になります。


SELECT COUNT(*) FROM information_schema.columns WHERE table_schema = 'sample_database';

+----------+
| COUNT(*) |
+----------+
|        5 |
+----------+
1 row in set (0.00 sec)

関連する記事

  • R言語 CRAN Task View:時空間データの処理と分析R言語 CRAN Task View:時空間データの処理と分析 CRAN Task View: Handling and Analyzing Spatio-Temporal Dataの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Edzer Pebesma Contact: edzer.pebesma at […]
  • Python pyqueryを用いて簡単にウェブスクレイピングPython pyqueryを用いて簡単にウェブスクレイピング Pythonでpyqueryパッケージを用いて、ウェブスクレイピングを行う方法をご紹介する。ウェブ上には様々なデータがあるが、必要なデータがいつもファイルとしてダウンロードできるとは限らない。ここでご紹介する方法は、htmlファイルを直接解析して、必要な情報を取得するという方法である。 それでは、さっそく見ていこう。 Ubuntu […]
  • R 関数の引数が省略記号(…)を持つかどうかを判定する方法R 関数の引数が省略記号(…)を持つかどうかを判定する方法 ある関数の引数に省略記号である三連ドット(...)を持つかどうかを判定する関数を作成しましたので共有いたします。 判定する関数は次になります。 is_dots […]
  • QGIS プラグイン一覧QGIS プラグイン一覧 オープンソースソフトウェアの地図情報システムの一つであるQGIS(Quantum GIS)のプラグインの一覧をご紹介します。英語での説明文をgoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。プラグインを探す参考にしていただければ幸いです。 パッケージ確認日:2021/10/01 パッケージ数:1510 3D City […]
  • R データフレームから特定の型の列を抽出する方法R データフレームから特定の型の列を抽出する方法 Rのデータフレームから特定の型の列を抽出する方法をお伝えします。 サンプルデータとして、irisを用います。 データフレームの構造をstr関数で確認します。 > str(iris) 'data.frame': 150 obs. of 5 variables: $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 […]
MySQL データベース内のカラム数を確認する方法