programing

테이블의 열을 카운트하려면 어떻게 해야 합니까?

sourcetip 2022. 10. 28. 23:03
반응형

테이블의 열을 카운트하려면 어떻게 해야 합니까?

예를 들어 다음과 같습니다.

tbl_ifo

id | name  | age | gender 
----------------------------
1  | John  |  15 |  Male
2  | Maria |  18 |  Female
3  | Steph |  19 |  Female
4  | Jay   |  21 |  Male

mysql을 사용하여 이 테이블의 열을 셀 수 있는 방법은 무엇입니까?

SELECT count(*)
FROM information_schema.columns
WHERE table_name = 'tbl_ifo'

데이터베이스 이름도 지정해야 합니다.

SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_schema = 'SchemaNameHere'
  AND table_name = 'TableNameHere'

데이터베이스 이름을 지정하지 않으면 테이블 이름과 일치하는 한 모든 열이 계산될 수 있습니다.예를 들어 다음과 같은 두 가지 데이터베이스가 있다고 가정합니다. DBaseA and DbaseB, 인DBaseA2개의 테이블이 있습니다.TabA(3필드), TabB(4필드).그리고...DBaseB다시 2개의 테이블이 있습니다.TabA(4필드), TabC(4필드).

다음 쿼리를 실행하는 경우:

SELECT count(*)
FROM information_schema.columns
WHERE table_name = 'TabA'

이름이 붙은 두 개의 테이블이 있기 때문에 7이 반환됩니다.TabA하지만 다른 조건을 추가함으로써table_schema = 'SchemaNameHere':

SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_schema = 'DBaseA'
  AND table_name = 'TabA'

3개만 반환됩니다.

$cs = mysql_query("describe tbl_info");
$column_count = mysql_num_rows($cs);

아니면 그냥:

$column_count = mysql_num_rows(mysql_query("describe tbl_info"));

표의 열을 정확하게 계산하기 위해 양식을 얻을 수 있습니다.information_schema.columns원하는 데이터베이스(Schema) 이름과 테이블 이름을 전달합니다.


다음 코드를 참조하십시오.

SELECT count(*)
FROM information_schema.columns
WHERE table_schema = 'myDB'  
AND table_name = 'table1';

보다 일반적인 답변이 있지만 DB의 모든 테이블에 대한 열을 셀 때 유용합니다.

SELECT table_name, count(*)
FROM information_schema.columns
GROUP BY table_name;

mysql_fetch_assoc를 사용하고 count() 함수를 사용하여 어레이를 카운트합니다.

이 쿼리가 도움이 될 수 있습니다.

SELECT COUNT(COLUMN_NAME) FROM INFORMATION_SCHEMA.COLUMNS WHERE 
TABLE_CATALOG = 'database' AND TABLE_SCHEMA = 'dbo'
AND TABLE_NAME = 'tbl_ifo'

테이블 내의 총 엔트리 수를 알고 싶은 것 같습니다.그러기 위해서는 이 코드를 사용합니다.

SELECT count( * ) as Total_Entries FROM tbl_ifo;

언급URL : https://stackoverflow.com/questions/10492164/how-do-i-count-columns-of-a-table

반응형