
information_schemacolumns表中有一个ordinal_position字段,表示的是列标识号,其实就是字段编号,你可以看看这些字段标号是不是按照你现在有字段顺序摆列的,如果是,那么用ordinal_position排序就可以了。
如果不是,而是按照你查询information_schemacolumns表的顺序编的号,那么可能在建表后有过插入字段(比原来表中没有第四题字段一类的),或者修改字段名称(这个也可能修改字段编号),那么就将数据备份重建该表,这样应该就没有问题了,不过可能也需要按照ordinal_position排序。
--通过如下语句得到当前Sql server中所有的数据的名称:
use master
select [name] from [sysdatabases] order by [name]
go
-- 查询数据库中的所有用户表
use [DBname]
select [id], [name] from [sysobjects] where [type] = 'u' order by [name]
--通过上面的查询的id,可以查出这个表中所有的字段,例如我们查询BaseData表中所有的字段,就可以通过下面的语句查出:
select [name] from [syscolumns] where [id] = 2087000699 order by [colid]
go
你所说的问题的语句是:
select [name], from [syscolumns] order by [id]
视图dba_tab_columns,user_tab_columns,all_columns,dba_tab_clos,user_tab_cols,all_tab_cols 都可以查询到,
例如:select from user_tab_columns where column_name='FPQH';
把tableName换成你的表名,有些数据库也可以直接使用Sql查询表列名
ResultSet resultSet = statementexecuteQuery("select from tableName");
ResultSetMetaData resultSetMetaData = resultSetgetMetaData();
for(int i=0; i<resultSetMetaDatagetColumnCount(); i++) {
Systemoutprint( resultSetMetaDatagetColumnLabel(i) + "\t" );
Systemoutprint( resultSetMetaDatagetColumnName(i) + "\t" );
Systemoutprintln( resultSetMetaDatagetColumnTypeName(i) );
}
问友好好学java呀
以上就是关于mysql查询表的列名,顺序不对全部的内容,包括:mysql查询表的列名,顺序不对、在sqlserver2000中怎么查表的列名并按在表中的顺序显示、pl/sql 如何在oracle整个数据库中查询某个列名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)