mysql 萬用字元 選擇MySQL萬用字元

2021-10-22 02:34:26 字數 904 閱讀 4781

有沒有辦法用萬用字元選擇列.

喜歡選擇名稱型別可能是』select%type%from table_name』的列?

解決方法:

並不是的.您可以使用* 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程式設計,那麼它應該不那麼混亂.您選擇的語言的db驅動程式可能提供獲取元資料的方法.實際的實現類似於純sql方法(獲取列名,彙編語句,準備,執行),但不應該如此醜陋,因為您將使用演算法而不是宣告性語言.

我非常有興趣看到實際需要的情況.

標籤:mysql,wildcard

mysql萬用字元 mysql萬用字元使用

mysql萬用字元使用 w3cchool sql模式匹配 匹配單個字元,匹配 匹配任意個字元,包括零個字元 sql模式下的匹配,預設是對於字母的大小寫沒有要求,並且sql模式下,或 是不能在模糊匹配中使用的,而是使用 like 或 not like.例如 select from user where...

Mysql 萬用字元原理 MySQL 萬用字元學習小結

mysql 萬用字元 sql的模式匹配允許你使用 匹配任何單個字元,而 匹配任意數目字元 包括零個字元 在 mysql中,sql的模式預設是忽略大小寫的。下面顯示一些例子。注意在你使用sql模式時,你不能使用 或 而使用like或not like比較操作符。為了找出以 b 開頭的名字 mysql s...

sql like 萬用字元 mysql萬用字元使用

sql模式匹配 匹配單個字元,匹配 匹配任意個字元,包括零個字元 sql模式下的匹配,預設是對於字母的大小寫沒有要求,並且sql模式下,或 是不能在模糊匹配中使用的,而是使用 like 或 not like.例如 正則模式匹配 當使用正則匹配時,使用regexp和not regexp操作符 或rli...