तालिका में पंक्तियों की संख्या ज्ञात करना संभव है:
select count(*) from tablename
क्या किसी तालिका में स्तंभों की संख्या ज्ञात करना संभव है?
तालिका में पंक्तियों की संख्या ज्ञात करना संभव है:
select count(*) from tablename
क्या किसी तालिका में स्तंभों की संख्या ज्ञात करना संभव है?
जवाबों:
SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_catalog = 'database_name' -- the database
AND table_name = 'table_name'
database
बराबर हैschema
table_catalog
def
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';
नोट: Your_table_name को आपके वास्तविक तालिका नाम से बदल दिया जाना चाहिए
जावा में JDBC का उपयोग करना:
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
। इस तरह, आप स्कीमा प्राप्त कर सकते हैं लेकिन कोई डेटा नहीं, जो अनावश्यक ओवरहेड जोड़ सकता है।
SELECT count(*) FROM information_schema.`COLUMNS` C
WHERE table_name = 'your_table_name'
AND TABLE_SCHEMA = "your_db_name"
खैर मैंने नाथन कोप के उत्तर की कोशिश की और यह मेरे लिए काम नहीं आया। मैंने इसे निम्न में बदल दिया और इसने काम किया:
SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'table_name'
यह भी काम नहीं किया अगर मैं डाल दिया USE 'database_name'
और न ही WHERE table_catalog = 'database_name' AND table_name' = 'table_name'
। मुझे वास्तव में यह जानकर खुशी होगी कि क्यों।
database_name
डिफ़ॉल्ट डेटाबेस सेट करता है, इसलिए आपको अपने द्वारा जारी किए गए किसी भी बयान में तालिका के नाम को अर्हता प्राप्त करने की आवश्यकता नहीं है। यहाँ आप columns
टेबल का नाम क्वालिफ़ाइ करते हुए यह कहते हैं कि यह info_schema के भीतर है। table_catalog
विशुद्ध रूप से अन्य डीबीएस के साथ संगतता के उद्देश्य के लिए mysql में मौजूद है यह समान नहीं है table_schema
- उस उत्तर के तहत टिप्पणियां देखें।
या 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
PHP कोड की 3 सरल रेखाओं का उपयोग करके किसी तालिका में स्तंभों की संख्या का पता लगाना संभव है।
$sql="SELECT * FROM table";
$query=mysqli_query($connect_dude,$sql);
$num=mysqli_num_fields($query);
$num
columns
इस मामले में दिए गए टेबल पर नंबर लौटाएगा ।
उम्मीद है, यह दूसरों की मदद करेगा।
तालिका में स्तंभों की संख्या गिनने की क्वेरी:
select count(*) from user_tab_columns where table_name = 'tablename';
तालिका के नाम के साथ टैबलेन का नाम बदलें, जिसके कुल कॉलम आप चाहते हैं।
SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME = 'table_name';
db2 'describe table "SCHEMA_NAME"."TBL_NAME"'
निम्नलिखित क्वेरी तालिका में कॉलम कैसे पाती है: -
SELECT COUNT(COLUMN_NAME) FROM USER_TAB_COLUMNS
WHERE TABLE_NAME = 'TableName';
MySQL का उत्तर MySqlDataReader.GetValues के लिए MSDN उदाहरण से थोड़ा अनुकूलित है :
//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]);
}
उपयोग MySqlDataReader.FieldCount
करने से आप पंक्ति में स्तंभों की संख्या को पुनः प्राप्त कर पाएंगे।
SELECT TABLE_SCHEMA
, TABLE_NAME
, number = COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
GROUP BY TABLE_SCHEMA, TABLE_NAME;
यह एक मेरे लिए काम किया।
चूंकि सभी उत्तर उपयोग कर रहे हैं COUNT()
, आप MAX()
एक विशिष्ट तालिका में कॉलम की संख्या प्राप्त करने के लिए भी उपयोग कर सकते हैं
SELECT MAX(ORDINAL_POSITION) NumberOfColumnsInTable
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_CATALOG = 'YourDatabaseNameHere'
AND
TABLE_SCHEMA = 'YourSchemaNameHere'
AND
TABLE_NAME = 'YourTableNameHere';
यहां बताया गया है कि आप पायथन 3, sqlite3 और 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()))