Jumlah baris dalam tabel dapat ditemukan:
select count(*) from tablename
Apakah mungkin menemukan jumlah kolom dalam sebuah tabel?
Jumlah baris dalam tabel dapat ditemukan:
select count(*) from tablename
Apakah mungkin menemukan jumlah kolom dalam sebuah tabel?
Jawaban:
SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_catalog = 'database_name' -- the database
AND table_name = 'table_name'
database
setara dengan schema
di ANSI SQL dan table_catalog
selaludef
SELECT COUNT(COLUMN_NAME)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_CATALOG = 'Database name'
AND TABLE_SCHEMA = 'dbo'
AND TABLE_NAME = 'table name'
SELECT count(*)
FROM information_schema.columns
WHERE table_name = 'Your_table_name';
Catatan: Nama_tabelAnda harus diganti dengan nama tabel Anda yang sebenarnya
Menggunakan JDBC di Java:
String quer="SELECT * FROM sample2";
Statement st=con.createStatement();
ResultSet rs=st.executeQuery(quer);
ResultSetMetaData rsmd = rs.getMetaData();
int NumOfCol=0;
NumOfCol=rsmd.getColumnCount();
System.out.println("Query Executed!! No of Colm="+NumOfCol);
SELECT * FROM sample2 WHERE 1=2
. Dengan cara ini, Anda bisa mendapatkan skema tetapi tidak ada data, yang dapat menambah overhead yang tidak diperlukan.
Sudah sedikit terlambat tapi tolong ambillah dari saya ...
Di editor (New Query) dengan memilih objek database dapat menjadi tabel juga, jika kita menggunakan Tombol Pintasan Alt + F1 kita akan mendapatkan semua informasi dari objek dan saya pikir akan menyelesaikan masalah Anda juga.
SELECT count(*) FROM information_schema.`COLUMNS` C
WHERE table_name = 'your_table_name'
AND TABLE_SCHEMA = "your_db_name"
Saya mencoba jawaban Nathan Koop dan tidak berhasil untuk saya. Saya mengubahnya menjadi yang berikut dan berhasil:
SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'table_name'
Itu juga tidak berhasil jika saya meletakkan USE 'database_name'
atau WHERE table_catalog = 'database_name' AND table_name' = 'table_name'
. Saya sebenarnya akan senang mengetahui alasannya.
database_name
menyetel database default sehingga Anda tidak perlu memasukkan nama tabel dalam pernyataan apa pun yang Anda keluarkan. Di sini Anda memenuhi syarat columns
nama tabel dengan mengatakannya di dalam information_schema. table_catalog
ada di mysql murni untuk tujuan kompatibilitas dengan dbs lain itu tidak sama dengan table_schema
- lihat komentar di bawah jawaban itu.
Atau gunakan sys.columns
--SQL 2005
SELECT *
FROM sys.columns
WHERE OBJECT_NAME(object_id) = 'spt_values'
-- returns 6 rows = 6 columns
--SQL 2000
SELECT *
FROM syscolumns
WHERE OBJECT_NAME(id) = 'spt_values'
-- returns 6 rows = 6 columns
SELECT *
FROM dbo.spt_values
-- 6 columns indeed
Anda dapat menemukan jumlah kolom dalam tabel hanya dengan menggunakan 3 baris kode PHP sederhana.
$sql="SELECT * FROM table";
$query=mysqli_query($connect_dude,$sql);
$num=mysqli_num_fields($query);
$num
akan mengembalikan jumlah columns
pada tabel tertentu dalam kasus ini.
Semoga bisa membantu sesama.
Query untuk menghitung jumlah kolom dalam sebuah tabel:
select count(*) from user_tab_columns where table_name = 'tablename';
Ganti tablename dengan nama tabel yang jumlah kolomnya ingin Anda kembalikan.
Bisa menggunakan pernyataan sql berikut:
select count(*) Noofcolumns from SYSCOLUMNS where id=(select id from SYSOBJECTS where name='table_name')
SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME = 'table_name';
db2 'describe table "SCHEMA_NAME"."TBL_NAME"'
Kueri berikut menemukan bagaimana kolom dalam tabel: -
SELECT COUNT(COLUMN_NAME) FROM USER_TAB_COLUMNS
WHERE TABLE_NAME = 'TableName';
Jawaban MySQL diadaptasi sedikit dari contoh MSDN untuk MySqlDataReader.GetValues :
//assumes you've already created a connection, opened it,
//and executed a query to a reader
while(reader.Read())
{
Object[] values = new Object[reader.FieldCount];
int fieldCount = reader.GetValues(values);
Console.WriteLine("\nreader.GetValues retrieved {0} columns.", fieldCount);
for (int i = 0; i < fieldCount; i++)
Console.WriteLine(values[i]);
}
Menggunakan MySqlDataReader.FieldCount
akan memungkinkan Anda untuk mendapatkan kembali jumlah kolom di baris yang Anda tanyakan.
Karena semua jawaban digunakan COUNT()
, Anda juga dapat menggunakan MAX()
untuk mendapatkan jumlah kolom dalam tabel tertentu sebagai
SELECT MAX(ORDINAL_POSITION) NumberOfColumnsInTable
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_CATALOG = 'YourDatabaseNameHere'
AND
TABLE_SCHEMA = 'YourSchemaNameHere'
AND
TABLE_NAME = 'YourTableNameHere';
Berikut adalah bagaimana Anda bisa mendapatkan sejumlah kolom tabel menggunakan pernyataan Python 3, sqlite3 dan pragma:
con = sqlite3.connect(":memory:")
con.execute("CREATE TABLE tablename (d1 VARCHAR, d2 VARCHAR)")
cur = con.cursor()
cur.execute("PRAGMA table_info(tablename)")
print(len(cur.fetchall()))