解析如何查看Oracle数据库中某张表的字段个数

秋天是沉甸甸的季节,秋天是收获的季节。秋天,写着收获,秋天,写着相思。秋天,比冬天更有生机勃勃的景象,白雪皑皑的冬天固然可爱,但是,瓜果飘香的金秋却更富有灿烂绚丽的色彩。
Oracle中查询某个表的总字段数,要用SQL语句,或者在PL/SQL里面

select count(column_name) from user_tab_columns where table_name='T_B_AUDITOR'

能够查出来指定的那张表的字段数。
下面是通过大致查看:
select tname,count(*) from col group by tname;

64T_A_BOOKSTAGEINFO4
65T_B_AUDITOR14
66T_B_BOOKMANAGEMENT13
67T_B_BOOKSTATUSCONFIG5
68T_B_CODETREEINFO8
69T_B_FILTERWORD11
70T_B_ISBNWHITELIST11
71T_B_MODEL10
72T_B_NOTICE15
73T_B_NOTICEACCEPT11
74T_B_OPERLOG10
75T_B_ORGANIZATIONINFO18
76T_B_PREFIXINFO15
77T_B_PUBLISHINFO30
78T_B_ROLE8
79T_B_ROLEMODEL6
80T_B_SAMPLEBOOKINFO89
81T_B_USER26
82T_B_USERANDROLE6
83T_B_USERLOGIN8
84T_B_USERMODEL6

此时我就联想到了mysql上面去:
直接利用函数来解决:

mysql> desc test;
+---------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(10) | YES | | NULL | |
| address | varchar(30) | YES | | NULL | |
+---------+-------------+------+-----+---------+----------------+
3 rows in set (0.01 sec)
mysql> select found_rows();
+--------------+
| found_rows() |
+--------------+
| 3 |
+--------------+
1 row in set (0.01 sec)

还有就是利用系统表:

mysql> use information_schema
Database changed
mysql> select count(*) from columns where table_name="test";
+----------+
| count(*) |
+----------+
| 3 |
+----------+
1 row in set (0.00 sec)

在mysql中想要知道数据库中有多少个库:

mysql> select * from schemata;
+--------------+--------------------+----------------------------+------------------------+----------+
| CATALOG_NAME | SCHEMA_NAME | DEFAULT_CHARACTER_SET_NAME | DEFAULT_COLLATION_NAME | SQL_PATH |
+--------------+--------------------+----------------------------+------------------------+----------+
| NULL | information_schema | utf8 | utf8_general_ci | NULL |
| NULL | mysql | utf8 | utf8_general_ci | NULL |
| NULL | test | utf8 | utf8_general_ci | NULL |
+--------------+--------------------+----------------------------+------------------------+----------+
3 rows in set (0.00 sec)

在mysql数据库中有多少张表:

mysql> select table_schema,count(*) from tables group by table_schema;
+--------------------+----------+
| table_schema | count(*) |
+--------------------+----------+
| information_schema | 17 |
| mysql | 17 |
| test | 6 |
+--------------------+----------+
3 rows in set (0.00 sec)

其实在系统表information_schema中大多的数据库,表啊都会有记录的。所以要好好研究下这张表呢。

本文解析如何查看Oracle数据库中某张表的字段个数到此结束。一个人只有亲眼看到自己伤疤的时候才知道什么是痛,什么是对与错小编再次感谢大家对我们的支持!

标签: 数据库中 Oracle