解析如何查看Oracle数据库中某张表的字段个数
复制代码 代码如下:
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中大多的数据库,表啊都会有记录的。所以要好好研究下这张表呢。
免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。
新手学oracle常见疑问2019-12-05
oracle远程连接服务器出现 ORA-12170 TNS:连接超时 解2019-01-22
oracle case when 语句的用法详解2019-02-07
ORACLE性能优化之SQL语句优化2021-03-10
oracle中使用group by优化distinct2019-12-05
ORACLE 10g 安装教程[图文]2019-01-21
ORA-00947:Not enough values (没有足够的值)的深入分2019-01-22
Oracle显示游标的使用及游标for循环2019-03-01
Oracle 查看表空间的大小及使用情况sql语句2019-01-22
ORA-12514及ORA-28547错误解决方案2019-01-23