• 售前

  • 售后

热门帖子
入门百科

剖析如何检察Oracle数据库中某张表的字段个数

[复制链接]
penguinzhuyun 显示全部楼层 发表于 2021-10-26 13:41:02 |阅读模式 打印 上一主题 下一主题
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中大多的数据库,表啊都会有纪录的。以是要好好研究下这张表呢。

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作