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

本文介绍如何使用SQL语句查询Oracle及MySQL中指定表的字段总数,并展示了通过系统表information_schema查询MySQL数据库元数据的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;
64	T_A_BOOKSTAGEINFO	4
65	T_B_AUDITOR	14
66	T_B_BOOKMANAGEMENT	13
67	T_B_BOOKSTATUSCONFIG	5
68	T_B_CODETREEINFO	8
69	T_B_FILTERWORD	11
70	T_B_ISBNWHITELIST	11
71	T_B_MODEL	10
72	T_B_NOTICE	15
73	T_B_NOTICEACCEPT	11
74	T_B_OPERLOG	10
75	T_B_ORGANIZATIONINFO	18
76	T_B_PREFIXINFO	15
77	T_B_PUBLISHINFO	30
78	T_B_ROLE	8
79	T_B_ROLEMODEL	6
80	T_B_SAMPLEBOOKINFO	89
81	T_B_USER	26
82	T_B_USERANDROLE	6
83	T_B_USERLOGIN	8
84	T_B_USERMODEL	6


此时我就联想到了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中大多的数据库,表啊都会有记录的。所以要好好研究下这张表呢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值