mysql查询表的列名,顺序不对

mysql查询表的列名,顺序不对,第1张

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整个数据库中查询某个列名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9681735.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存