Mysql如何在select查詢時追加(添加)一個字段并指定值
在select查詢時追加(添加)一個字段并指定值
在特定時候,在 mysql 的查詢結果中我們需要追加一個字段來實現某些特定的功能,這時我們可以用到以下語法來實現
值 as 字段
比如我們需要給這個查詢結果追加一個 xx 字段并賦值為 null ,可以這樣實現
select *, null as xx from topic;
使用select查詢時,在查詢結果中增加一個字段并指定固定值
假設需求是這樣的:
mysql> desc user; +-------+----------+------+-----+---------+----------------+ | Field | Type ? ? | Null | Key | Default | Extra ? ? ? ? ?| +-------+----------+------+-----+---------+----------------+ | id ? ?| int(11) ?| NO ? | PRI | NULL ? ?| auto_increment | | name ?| char(30) | NO ? | ? ? | NULL ? ?| ? ? ? ? ? ? ? ?| +-------+----------+------+-----+---------+----------------+ 2 rows in set (0.01 sec)
假設user表中,有id和name兩個字段,現在需要查詢user表中所有數據,并增加一個字段(is_person),判斷該記錄所描述的是不是一個人?
別去鉆牛角尖,很明顯,is_person的值始終為true,那么在查詢的時候,就可以在返回結果中新增一個字段is_person,并指定值為true。
mysql> select * from user; +----+------+ | id | name | +----+------+ | ?1 | abc ?| | ?2 | xyz ?| +----+------+ 2 rows in set (0.00 sec) ? mysql> select *,"true" as is_person from user; +----+------+-----------+ | id | name | is_person | +----+------+-----------+ | ?1 | abc ?| true ? ? ?| | ?2 | xyz ?| true ? ? ?| +----+------+-----------+ 2 rows in set (0.00 sec)
注意上面的格式,使用關鍵字as,這里的as和平時使用的as代表的意思是相同的!??!
平常使用as是為字段取一個別名,as的左邊是一個原始字段名,右邊是新的別名,該別名會顯示在查詢結果中,而原始字段名代表的就是該字段的值;
此處為新增字段指定固定值,as的左邊為新增字段的固定值,右邊才是新增字段的字段名,此時字段名不用加引號,如果固定值為數值型則不用加引號,如果固定值為其他類型則必須加引號。
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
MySQL Index Condition Pushdown(ICP)性能優(yōu)化方法實例
這篇文章主要介紹了MySQL Index Condition Pushdown(ICP)性能優(yōu)化方法實例,本文講解了概念介紹、原理、實踐案例、案例分析、ICP的使用限制等內容,需要的朋友可以參考下2015-05-05詳解Windows?Server?2012下安裝MYSQL5.7.24的問題
這篇文章主要介紹了Windows?Server?2012下安裝MYSQL5.7.24的詳細過程,本文通過圖文并茂實例代碼相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-02-02