查看数据库中某张表的字段个数


Oracle中查询某个表的总字段数,要用SQL语句,或者在PL/SQL里面

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

能够查出来指定的那张表的字段数。

下面是通过大致查看:

select   tname,count(*)   from   col   group   by   tname;
  1. 64  T_A_BOOKSTAGEINFO   4  
  2. 65  T_B_AUDITOR 14  
  3. 66  T_B_BOOKMANAGEMENT  13  
  4. 67  T_B_BOOKSTATUSCONFIG    5  
  5. 68  T_B_CODETREEINFO    8  
  6. 69  T_B_FILTERWORD  11  
  7. 70  T_B_ISBNWHITELIST   11  
  8. 71  T_B_MODEL   10  
  9. 72  T_B_NOTICE  15  
  10. 73  T_B_NOTICEACCEPT    11  
  11. 74  T_B_OPERLOG 10  
  12. 75  T_B_ORGANIZATIONINFO    18  
  13. 76  T_B_PREFIXINFO  15  
  14. 77  T_B_PUBLISHINFO 30  
  15. 78  T_B_ROLE    8  
  16. 79  T_B_ROLEMODEL   6  
  17. 80  T_B_SAMPLEBOOKINFO  89  
  18. 81  T_B_USER    26  
  19. 82  T_B_USERANDROLE 6  
  20. 83  T_B_USERLOGIN   8  
  21. 84  T_B_USERMODEL   6  

此时我就联想到了mysql上面去:

直接利用函数来解决:

  1. mysql> desc test;  
  2. +---------+-------------+------+-----+---------+----------------+  
  3. | Field   | Type        | Null | Key | Default | Extra          |  
  4. +---------+-------------+------+-----+---------+----------------+  
  5. | id      | int(11)     | NO   | PRI | NULL    | auto_increment |  
  6. | name    | varchar(10) | YES  |     | NULL    |                |  
  7. | address | varchar(30) | YES  |     | NULL    |                |  
  8. +---------+-------------+------+-----+---------+----------------+  
  9. 3 rows in set (0.01 sec)  
  10.   
  11. mysql> select found_rows();  
  12. +--------------+  
  13. | found_rows() |  
  14. +--------------+  
  15. |            3 |  
  16. +--------------+  
  17. 1 row in set (0.01 sec)  
还有就是利用系统表:
  1. mysql> use information_schema  
  2. Database changed  
  3. mysql> select count(*) from columns where table_name="test";  
  4. +----------+  
  5. | count(*) |  
  6. +----------+  
  7. |        3 |  
  8. +----------+  
  9. 1 row in set (0.00 sec)  
在mysql中想要知道数据库中有多少个库:
  1. mysql> select * from schemata;  
  2. +--------------+--------------------+----------------------------+------------------------+----------+  
  3. | CATALOG_NAME | SCHEMA_NAME        | DEFAULT_CHARACTER_SET_NAME | DEFAULT_COLLATION_NAME | SQL_PATH |  
  4. +--------------+--------------------+----------------------------+------------------------+----------+  
  5. | NULL         | information_schema | utf8                       | utf8_general_ci        | NULL     |  
  6. | NULL         | mysql              | utf8                       | utf8_general_ci        | NULL     |  
  7. | NULL         | test               | utf8                       | utf8_general_ci        | NULL     |  
  8. +--------------+--------------------+----------------------------+------------------------+----------+  
  9. 3 rows in set (0.00 sec)  
在mysql数据库中有多少张表:
  1. mysql> select table_schema,count(*) from tables group by table_schema;  
  2. +--------------------+----------+  
  3. | table_schema       | count(*) |  
  4. +--------------------+----------+  
  5. | information_schema |       17 |  
  6. | mysql              |       17 |  
  7. | test               |        6 |  
  8. +--------------------+----------+  
  9. 3 rows in set (0.00 sec)  

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

Oracle中查询某个表的总字段数,要用SQL语句,或者在PL/SQL里面

相关内容