MySQLテーブルの列数を見つける方法は?
MySQLテーブルの列数を見つけるには、information_schema.columnsおよびWHERE句を指定したcount(*)関数を使用します。例を見てみましょう。
テーブルを作成します。
mysql> create table NumberOfColumns -> ( -> id int, -> FirstName varchar(100), -> LastName varchar(100), -> Age int, -> Address varchar(100) -> ); Query OK, 0 rows affected (0.70 sec)
テーブルにレコードを挿入します。
mysql> insert into NumberOfColumns values(1,'Shane','Watson',36,'Australia'); Query OK, 1 row affected (0.15 sec) mysql> insert into NumberOfColumns values(2,'Carol','Taylor',24,'US'); Query OK, 1 row affected (0.13 sec)
すべてのレコードを表示します。
mysql> select *from NumberOfColumns;
これが出力です。
+------+-----------+----------+------+-----------+ | id | FirstName | LastName | Age | Address | +------+-----------+----------+------+-----------+ | 1 | Shane | Watson | 36 | Australia | | 2 | Carol | Taylor | 24 | US | +------+-----------+----------+------+-----------+ 2 rows in set (0.00 sec)
次に、テーブルの列数をカウントする構文を見てみましょう。
SELECT count(*) AS anyName FROM information_schema.columns WHERE table_name =’ yourTableName’;
上記の構文を「NumberOfColumns」という名前のサンプルテーブルに適用します。
mysql> SELECT count(*) AS NUMBEROFCOLUMNS FROM information_schema.columns -> WHERE table_name ='NumberOfColumns';
これが出力です。
+-----------------+ | NUMBEROFCOLUMNS | +-----------------+ | 5 | +-----------------+ 1 row in set (0.00 sec)
列の数を見つけるための代替クエリ。
SELECT COUNT(*) AS anyName FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema = 'yourDatabaseName' AND table_name = 'yourTableName';
「business」という名前のデータベースに2番目のクエリを適用します。
mysql> SELECT COUNT(*) AS NUMBEROFCOLUMNS FROM INFORMATION_SCHEMA.COLUMNS -> WHERE table_schema = 'business' AND table_name = 'NumberOfColumns';
出力には列数が表示されます。
+-----------------+ | NUMBEROFCOLUMNS | +-----------------+ | 5 | +-----------------+ 1 row in set (0.00 sec)
-
Javaを使用してMySQLテーブルの列数をカウントする
これには、ResultSetMetaDataを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable -> ( -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentFirstName varchar(20), -> StudentLastName varchar(20) -> ); Query OK, 0 r
-
MySQLで特定の値を持つ列の数を数える方法は?
以下は構文です- select sum(yourColumnName1+yourColumnName2+yourColumnName3...N) as `anyAliasName1`, sum(yourColumnName1 and yourColumnName2 and yourColumnName3….N) as anyAliasName from yourTableName; テーブルを作成しましょう- mysql> create table demo36 −> ( −> id int not null auto_incremen