这里涉及到两个系统视图的应用dba_tab_cols和user_tab_cols;
dba_tab_cols包含所有用户下表字段信息;user_tab_cols包含当前用户下表信息;使用tba_tab_clos查询表字段类型需要指定owner(用户)
上述两个表中,table_name,column_name,data_type就可以满足需要查询表字段类型了,具体类型对应其他字段还有另外定义,比如varchar2,date,number还对应在data_length字段有值,说明类型其长度
user_tab_columns和user_tab_cols都可以满足问题要求,但是两张视图还是有区别的,主要是包含字段的区别等,具体区别可以度娘哈,这里就不赘述。
一个表一个表,一个字段一个字段的去查,比如:select
from
表1
where
字段1=值
把表导入到sql文件里面,然后打开这个文件,用"查找"的功能找这个值。但是如果表和数据库很大的话,恐怕也不容易导出和打开这个sql文件。
查看可用如下方法:
1、创建测试表,插入数据:
1
2
3
4
5
6
7
8
9
10
11
12
13
create table product
(id int,
name varchar(10),
totol int)
insert into product values (1,'香蕉',100)
insert into product values (2,'橘子',67)
insert into product values (3,'葡萄',89)
insert into product values (4,'苹果',235)
insert into product values (5,'香蕉',77)
insert into product values (6,'芒果',34)
insert into product values (7,'葡萄',78)
insert into product values (8,'梨',24)
表中数据如:
2、如果查询name列有重复的数据,可执行sql语句:
1
select from product where name in (select name from product group by name having COUNT()>1)
说明:查询的结果就是香蕉和葡萄在表中是有重复的,要把香蕉和葡萄的所有记录都查询出来,结果如图:
1查询数据库中的所有数据库名:
SELECT Name FROM MasterSysDatabases ORDER BY Name
2查询某个数据库中所有的表名:
SELECT Name FROM SysObjects Where XType='U' ORDER BY Name
3查询表结构信息:
1 SELECT (case when acolorder=1 then dname else null end) 表名,
2 acolorder 字段序号,aname 字段名,
3 (case when COLUMNPROPERTY( aid,aname,'IsIdentity')=1 then '√'else '' end) 标识,
4 (case when (SELECT count() FROM sysobjects
5 WHERE (name in (SELECT name FROM sysindexes
6 WHERE (id = aid) AND (indid in
7 (SELECT indid FROM sysindexkeys
8 WHERE (id = aid) AND (colid in
9 (SELECT colid FROM syscolumns WHERE (id = aid) AND (name = aname)))))))
10 AND (xtype = 'PK'))>0 then '√' else '' end) 主键,bname 类型,alength 占用字节数,
11 COLUMNPROPERTY(aid,aname,'PRECISION') as 长度,
12 isnull(COLUMNPROPERTY(aid,aname,'Scale'),0) as 小数位数,(case when aisnullable=1 then '√'else '' end) 允许空,
13 isnull(etext,'') 默认值,isnull(g[value], ' ') AS [说明]
14 FROM syscolumns a
15 left join systypes b on axtype=bxusertype
16 inner join sysobjects d on aid=did and dxtype='U' and dname<>'dtproperties'
17 left join syscomments e on acdefault=eid
18 left join sysextended_properties g on aid=gmajor_id AND acolid=gminor_id
19 left join sysextended_properties f on did=fclass and fminor_id=0
20 where bname is not null
21 --WHERE dname='要查询的表' --如果只查询指定表,加上此条件
22 order by aid,acolorder
1、打开您 *** 作数据库的可视化工具(我现在用的是DbVisualizer)。
2、在sql窗口中编写查询语句,我之前遇到这个问题的时候,找了好久都是说使用value,nvl,decode等等函数去 *** 作,这样用法确实可以,但是不适用于我遇到的这个情况,那些方法只适用于存在此条记录,但是某一字段可能为null的情况。
3、在sql窗口中可使用迂回的方式进行查询设定默认值。可先查询是否含有此条记录存在,如果不存在就给查询的字段设定默认值,如果存在就使用子查询去取该字段真正的值。
当button1点击的时候,先清理掉dataSet11中的所有表,然后重新填充数据源dataSet11的表student,绑定
datagridview
,
当button2点击的时候,你只是定义了一个查询字符串,数据源dataSet11的数据表student内容并没有发生改变,你再次绑定的
datagridview话,没有任何变化的。建议你在button2点击后,根据新的sql,重新填充数据源
并重新
绑定到datagridview即可。
数据库表中字段类型有以下几种:
1
二进制数据类型
binary、varbinary、image
2字符数据类型
char,varchar和
text
3unicode数据类型
包括nchar,nvarchar和ntext
4日期和时间数据类型
包括datetime,
smalldatetime,
date,
timestamp
5数字数据类型
数字数据类型包括正数和负数、小数和整数
6货币数据类型
表示正的或者负的货币数量。
7特殊数据类型
特殊的数据类型有3种,即timestamp、bit
和
uniqueidentifier。
根据具体问题类型,进行步骤拆解/原因原理分析/内容拓展等。
具体步骤如下:/导致这种情况的原因主要是……
以上就是关于如何查询oracle数据库表字段全部的内容,包括:如何查询oracle数据库表字段、如何查找数据库中某一字段的某一内容、如何查询数据库中有相同字段的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)