在使用JDBC编写SQL时使用选择"*"是一个糟糕的兔子。
但是,如果表中有很多列,我如何轻松地在SQL中选取一些想要的列而不是使用*
?
例如,假设我有表 1 和表 2,它们各有 10 列。我需要他们的大部分专栏,但我不想使用SELECT * FROM table1 inner join table2 on table1.id=table2.id
,因为这是一种不好的做法。其实我只需要SELECT column1,column4,column5(most of them)...... from table1 inner join table2 on table1.id=table2.id
.
那么,我有没有办法将*
替换到所有列中,然后我可以复制此文本并删除一些我不需要的列并保留我想要的内容,而不是键入每个列名称?
如果您使用的是 SQL Server,一个简单的技巧是在 Management Studio 中打开数据库,右键单击表,然后从上下文菜单中选择"选择前 1000 行"。 您将逐个列出所有字段。 您可以将文本复制并粘贴到所需的任何位置。
我不知道您使用的是哪个IDE,更不用说哪个DBMS,但是其中可能有一个这样的技巧。
尝试使用下面的查询来获取特定表的所有列。希望对您有所帮助。
SELECT name FROM sys.all_columns WHERE object_id = OBJECT_ID('MyTableHere')
在 MySQL 中,请尝试以下代码,或者您可以参考本文档:
SHOW COLUMNS FROM MyTableNameHere;