mysql安裝成功后可以看到已經(jīng)存在mysql、information_schema和test這個(gè)幾個(gè)數(shù)據(jù)庫,information_schema庫中有一個(gè)名為COLUMNS的表,這個(gè)表中記錄了數(shù)據(jù)庫中所有表的字段信息。知道這個(gè)表后,獲取任意表的字段就只需要一條select語句即可。例如:
創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的克拉瑪依網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
select COLUMN_NAME from information_schema.COLUMNS where table_name = 'your_table_name';
上述的做法有一點(diǎn)問題,如果多個(gè)數(shù)據(jù)庫中存在你想要查詢的表名,那么查詢的結(jié)果會(huì)包括全部的字段信息。通過DESC information_schema.COLUMNS可以看到該表中列名為TABLE_SCHEMA是記錄數(shù)據(jù)庫名,因此下面的寫法更為嚴(yán)格
select COLUMN_NAME from information_schema.COLUMNS where table_name = 'your_table_name' and table_schema = 'your_db_name';
方法一,在程序中直接desc?tablename,然后總行數(shù)就是字段數(shù)。
mysql?desc?ysks;
+-------+---------------+-----
|?Field?|?Type??????????|?Null
+-------+---------------+-----
|?單號(hào)??|?int(11)???????|?YES
|?金額??|?decimal(10,2)?|?YES
|?已收??|?decimal(10,2)?|?YES
|?日期??|?bigint(20)????|?YES
|?名稱??|?varchar(10)???|?YES
|?余額??|?decimal(10,2)?|?YES
|?備注??|?varchar(10)???|?YES
|?品名??|?varchar(10)???|?YES
+-------+---------------+-----
8?rows?in?set?(0.06?sec)
mysql?select?FOUND_ROWS();
+--------------+
|?FOUND_ROWS()?|
+--------------+
|????????????8?|
+--------------+
1?row?in?set?(0.06?sec)
mysql
方法二,通過系統(tǒng)表information_schema.`COLUMNS`?(?mysql5以上版本支持)。
mysql?select?count(*)?from?information_schema.`COLUMNS`
-?where?TABLE_SCHEMA='csdn'
-?and?TABLE_NAME='ysks';
+----------+
|?count(*)?|
+----------+
|????????8?|
+----------+
1?row?in?set?(0.06?sec)
mysql
使用MYSQL的
desc
表名
語句可以獲得此表的所有字段名稱、類型和默認(rèn)值設(shè)置
例如:desc
teacher
你可以當(dāng)作其他SQL那樣執(zhí)行,試試就知道了。