2
A
回答
3
不是。您可以使用*
column wildcard來選擇所有列。
SELECT a.id, a.title, b.*
FROM articles AS a
JOIN blurbs AS b ON a.id = b.article
但是,除非你正在寫一個數據庫管理程序,你不應該使用*
:如果你要加入多個表,您可以通過表名或別名前綴*
選擇特定的表中的所有列。
或者,您可以通過獲取表元數據來獲取列名稱,從而在SQL或其他語言中構建語句。僅使用MySQL,您可以查詢INFORMATION_SCHEMA
數據庫中的COLUMNS
表以獲取列名,並使用GROUP_CONCAT
爲該語句構建列列表。
SELECT CONCAT(
'SELECT ',
GROUP_CONCAT(COLUMN_NAME SEPARATOR ', '),
' FROM ', :db, '.', :table,
' WHERE ...'
)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA=:db AND TABLE_NAME=:table
用適當的值替換「:db」,「:table」和「...」。你甚至可以把它變成一個準備好的聲明,以便你可以將它用於任何表格。從那裏,PREPARE
和EXECUTE
構建的聲明。
如果你不侷限於SQL進行編程,它應該不那麼混亂。您選擇的語言的數據庫驅動程序可能會提供獲取元數據的方法。實際的實現類似於純粹的SQL方法(獲取列名,彙編語句,準備,執行),但不應該如此醜陋,因爲你會使用算法而不是聲明式語言。
我會在看到,這是實際需要的情況很感興趣..
0
當然是可能的,如果你使用的是前端的語言。如果php只是使用
$fieldlist= "cola, colb ";
$tablename="tabl";
"select $fieldlist from $table"
我的直覺告訴你正在做一些簡單的使用php-mysql,但我可能是錯的。
1
您可以使用information_schema然後使用準備好的語句在名稱內找到所有包含類型的字段。
set @str = (concat('select ',(select concat(group_concat(column_name),' from ',table_name)
from information_schema.columns
where table_schema = 'your_db_name' and table_name = 'your_table_name' and column_name like '%type%')));
prepare stmt from @str;
execute stmt;
deallocate prepare stmt;
相關問題
- 1. 使用通配符選擇MySQL範圍
- 2. MySQL的選擇使用通配符(但通配符域)
- 3. jQuery的通配符選擇
- 4. 通配符嵌套選擇
- 5. jQuery的通配符選擇
- 6. SQL通配符選擇
- 7. Mootools通配符選擇器
- 8. SQL通配符選擇
- 9. CSS3通配符選擇
- 10. SQL選擇匹配通配符
- 11. mysql - 選擇最匹配的字符
- 12. 如何在MySQL中爲通配符選擇列?
- 13. 在通配符中選擇MySQL中最具體的行
- 14. 用通配符mysql在日期之間進行選擇
- 15. MySQL與LIKE,通配符和前導零選擇
- 16. PHP mysql選擇查詢在哪裏(通配符)
- 17. 使用XPath通配符選擇屬性
- 18. PostgreSQL通配符和子選擇計數
- 19. CSS:CSS選擇器內的通配符
- 20. 從通配符中選擇,在Q KDB
- 21. Unix通配符選擇器? (星號)
- 22. jQuery選擇器中的通配符
- 23. PHP選擇哈希使用通配符
- 24. jQuery:removeClass中的通配符類選擇器
- 25. c#DataTable使用Int32選擇通配符
- 26. Ajax選擇通配符搜索結果
- 27. MYSQL PHP通配符
- 28. MySQL的通配符
- 29. MySQL通配符*和%
- 30. mysql匹配通配符
如果你實現了一個類層次結構作爲規範化的一組表,你將有幾個表連接到基類表。如果知道要檢索的實例的類型,則知道要從中讀取的表。因此,需要參數表名稱。如果我沒有弄錯,hibernate會對這些情況下涉及的所有表進行聯合查詢並相應地處理結果。 – Dan 2011-04-07 13:57:11
SHOW COLUMNS FROM table_name where'like'%type%' - 如果在子查詢中使用,但它顯示額外的列類型,空,鍵,默認,額外等,這可能會有所幫助......我只希望列名更好逗號分隔.. 。搜索解決方案... – Mark 2011-04-07 14:03:39
1.使用查詢 獲取所需的列名2.使用點1的結果並在選擇查詢中使用... – Mark 2011-04-07 14:05:26