テーブル内の合計カラムを取得するにはSQLのクエリが必要です。誰かが助けてくれますか?SQLのテーブル内のカラムの総数を取得するには
39
A
答えて
65
SELECT COUNT(COLUMN_NAME)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_CATALOG = 'database' AND TABLE_SCHEMA = 'dbo'
AND TABLE_NAME = 'table'
12
でMS-SQL Serverの7+:
SELECT count(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'mytable'
32
このクエリは、列が
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.Columns where TABLE_NAME = 'YourTableName'
に名前を付け、この1つは、カウント
SELECT Count(*) FROM INFORMATION_SCHEMA.Columns where TABLE_NAME = 'YourTableName'
1
Select Table_Name, Count(*) As ColumnCount
From Information_Schema.Columns
Group By Table_Name
Order By Table_Name
を取得し、取得します210
このコードは、データベースのテーブルに存在するいくつかのカラムを持つテーブルのリストを示しています。
データベース内の特定のテーブルの列数を知りたい場合は、単にwhere
という節を使用します。 where Table_Name='name_your_table'
2
あなたは、クエリの下に試すことができます。以下のクエリは、すべてのテーブルと対応する列の数を表示します
SELECT COUNT(COLUMN_NAME) FROM [*database*].INFORMATION_SCHEMA.COLUMNS WHERE
TABLE_CATALOG = 'database' AND TABLE_SCHEMA = 'dbo'
AND TABLE_NAME = 'table'
0
修正トップクエリへデータベーススキーマで
SELECT Table_Name, count(*) as [No.of Columns]
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_schema = 'dbo' -- schema name
group by table_name
1
任意のデータベースから実行できるようにするために、上記
select
count(*)
from
all_tab_columns
where
table_name = 'your_table'
0
私の状況では、私はtabl e 2つのデータベース内の2つの同一テーブルのスキーマ列数。 1つはメインデータベースで、もう1つはアーカイブデータベースです。
DECLARE @colCount1 INT;
DECLARE @colCount2 INT;
SELECT @colCount1 = COUNT(COLUMN_NAME) FROM MainDB.INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'SomeTable';
SELECT @colCount2 = COUNT(COLUMN_NAME) FROM ArchiveDB.INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'SomeTable';
IF (@colCount1 != @colCount2) THROW 5000, 'Number of columns in both tables are not equal. The archive schema may need to be updated.', 16;
ここで注目すべき重要なことは、(dbo
のように、スキーマである)INFORMATION_SCHEMA
前に、データベース名を修飾されています。私はこの(SQLを2012+)でした。これにより、プロシージャの実行が許可されていればデータ損失が発生する可能性のあるアーカイブデータベースではなく、メインデータベースに列が追加された場合にコードが破損する可能性があります。これは、使用して行うことができる
1
: -
SELECT COUNT(COLUMN_NAME) 'NO OF COLUMN' FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Address'
INFORMATION_SCHEMAは、これが動作するので、現在のデータベース接続に対応する値から取り込まれます。 –