国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【MySQL】不允許你還不了解創(chuàng)建計算字段

這篇具有很好參考價值的文章主要介紹了【MySQL】不允許你還不了解創(chuàng)建計算字段。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

?? 博客主頁:博主鏈接
?? 本文由 M malloc 原創(chuàng),首發(fā)于 CSDN??
?? 學(xué)習(xí)專欄推薦:LeetCode刷題集!
?? 歡迎點贊 ?? 收藏 ?留言 ?? 如有錯誤敬請指正!
?? 未來很長,值得我們?nèi)Ρ几案篮玫纳?

【MySQL】不允許你還不了解創(chuàng)建計算字段
【MySQL】不允許你還不了解創(chuàng)建計算字段

??MySQL的前情介紹

??大家好呀,今天是我第N次寫MySQL,也是最近才學(xué)習(xí)MySQL,也想著記錄一下自己的學(xué)習(xí)過程,并且分享給大家尼!

??本章詳情

??本文章將介紹什么是計算字段,如何創(chuàng)建計算字段以及怎樣從應(yīng)用程序中使用別名引用它們。

??計算字段

前言

存儲在數(shù)據(jù)庫表中的數(shù)據(jù)一般不是應(yīng)用程序所需要的格式。下面舉幾個例子。

  1. 如果想在一個字段中既顯示公司名,又顯示公司的地址,但這兩個信息一般包含在不同的表列中。
  2. 城市、州和郵政編碼存儲在不同的列中(應(yīng)該這樣),但郵件標(biāo)簽打印程序卻需要把它們作為一個恰當(dāng)格式的字段檢索出來。
  3. 列數(shù)據(jù)是大小寫混合的,但報表程序需要把所有數(shù)據(jù)按大寫表示出來。
  4. 物品訂單表存儲物品的價格和數(shù)量,但不需要存儲每個物品的總價格(用價格乘以數(shù)量即可)。為打印發(fā)票,需要物品的總價格
  5. 需要根據(jù)表數(shù)據(jù)進行總數(shù)、平均數(shù)計算或其他計算。

??在上述每個例子中,存儲在表中的數(shù)據(jù)都不是應(yīng)用程序所需要的。我們需要直接從數(shù)據(jù)庫中檢索出轉(zhuǎn)換、計算或格式化過的數(shù)據(jù);而不是檢索出數(shù)據(jù),然后再在客戶機應(yīng)用程序或報告程序中重新格式化

結(jié)論

這就是計算字段發(fā)揮作用的所在了。與前面的文章介紹過的列不同計算字段并不實際存在于數(shù)據(jù)庫表中。計算字段是運行時在SELECT語句內(nèi)創(chuàng)建的。

字段

字段 (field) 基本上與列 (column)的意思相同,經(jīng)?;Q使用,不過數(shù)據(jù)庫列一般稱為列,而術(shù)語字段通常用在計算字段的連接上。

重要的是要注意到,只有數(shù)據(jù)庫知道SELECT語句中哪些列是實際的表列,哪些列是計算字段。從客戶機(如應(yīng)用程序) 的角度來看,計算字段的數(shù)據(jù)是以與其他列的數(shù)據(jù)相同的方式返回的。

客戶機與服務(wù)器的格式

客戶機與服務(wù)器的格式可在SQL語內(nèi)完成的許多轉(zhuǎn)換和格式化工作都可以直接在客戶機應(yīng)用程序內(nèi)完成。但一般來說,在數(shù)據(jù)庫服務(wù)器上完成這些操作比在客戶機中完成要快得多,因為DBMS是設(shè)計來快速有效地完成這種處理的。

??拼接字段

??為了說明如何使用計算字段,舉一個創(chuàng)建由兩列組成的標(biāo)題的簡單例子。

  1. vendors表包含供應(yīng)商名和位置信息。假如要生成一個供應(yīng)商報表,需要在供應(yīng)商的名字中按照name(location)這樣的格式列出供應(yīng)商的位置。
  2. 此報表需要單個值,而表中數(shù)據(jù)存儲在兩個列vend_name和vend_country中。此外,需要用括號將vend_country括起來,這些東西都沒有明確存儲在數(shù)據(jù)庫表中。我們來看看怎樣編寫返回供應(yīng)商名和位置的SELECT語句。

拼接(concatenate)

將值聯(lián)結(jié)到一起構(gòu)成單個值

MySQL的不同之處

多數(shù)DBMS使用+或||來實現(xiàn)拼接,MySQL則使用Concat()函數(shù)來實現(xiàn)。當(dāng)把SQL語句轉(zhuǎn)換成MySQL語句時一定要把這個區(qū)別銘記在心。

輸入

SELECT Concat(vend_name,'(',vend_country,')') FROM vendors
	ORDER BY vend_name;

分析

??Concat()拼接串,即把多個串連接起來形成一個較長的串。
Concat()需要一個或多個指定的串,各個串之間用逗號分隔。

  1. 存儲在vendname列中的名字;
  2. 包含一個空格和一個左圓括號的串;
  3. 存儲在vend_country列中的國家;
  4. 包含一個右圓括號的串;

從如下的輸出中可以看到,SELECT語句返回包含上述4個元素的單個列(計算字段)。

輸出
【MySQL】不允許你還不了解創(chuàng)建計算字段

??在前幾篇章中曾提到通過刪除數(shù)據(jù)右側(cè)多余的空格來整理數(shù)據(jù),這可以使用MySQL的RTrim()函數(shù)來完成,如下所示:

輸入

SELECT Concat(RTrim(vend_name),'(',RTrim(vend_country),')') FROM vendors
	ORDER BY vend_name;

分析

RTrim()函數(shù)去掉值右邊的所有空格。通過使用RTrim(),各個列都進行了整理。

Trim函數(shù)

Trim函數(shù) MySQL除了支持RTrim()(正如剛才所見,它去掉串右邊的空格),還支持LTrim()(去掉串左邊的空格)以及Trim()(去掉串左右兩邊的空格)。

使用別名

從前面的輸出中可以看到,SELECT語句拼接地址字段工作得很好。但此新計算列的名字是什么呢?實際上它沒有名字,它只是一個值。如果僅在SQL查詢工具中查看一下結(jié)果,這樣沒有什么不好。但是,一個未命名的列不能用于客戶機應(yīng)用中,因為客戶機沒有辦法引用它.

為了解決這個問題,SQL支持列別名。別名 (alias)是一個字段或值的替換名。別名用AS關(guān)鍵字賦予。請看下面的SELECT語句:

輸入

SELECT Concat(RTrim(vend_name),'(',RTrim(vend_country),')') as vend_title FROM vendors
	ORDER BY vend_name;

輸出
【MySQL】不允許你還不了解創(chuàng)建計算字段
分析

SELECT語句本身與以前使用的相同,只不過這里的語句中計算字段之后跟了文本AS vend_title。它指示SQL創(chuàng)建一個包含指定計算的名為vend _title的計算字段。從輸出中可以看到,結(jié)果與以前的相同,但現(xiàn)在列名為vend_title,任何客戶機應(yīng)用都可以按名引用這個列,就像它是一個實際的表列一樣。

別名的其他用途

別名的其他用途 別名還有其他用途常見的用途包括在實際的表列名包含不符合規(guī)定的字符(如空格)時重新命名它,在原來的名字含混或容易誤解時擴充它,等等.

導(dǎo)出列

別名有時也稱為導(dǎo)出列(derived column),不管稱為什么,它們所代表的都是相同的東西。

??執(zhí)行算術(shù)運算

前言

計算字段的另一常見用途是對檢索出的數(shù)據(jù)進行算術(shù)計算。舉一個例子,orders表包含收到的所有訂單,orderitems表包含每個訂單中的各項物品。下面的SQL語句檢索訂單號20005中的所有物品:

輸入

SELECT prod_id,quantity,item_price FROM orderitems
	WHERE order_num = 20005;

輸出
【MySQL】不允許你還不了解創(chuàng)建計算字段

item_price列包含訂單中每項物品的單價。如下匯總物品的價格單價乘以訂購數(shù)量):

輸入

SELECT prod_id,quantity,item_price,quantity * item_price AS expanded_price FROM orderitems
	WHERE order_num = 20005;

輸出
【MySQL】不允許你還不了解創(chuàng)建計算字段
分析

輸出中顯示的expanded_price列為一個計算字段,此計算為quantity*item price??蛻魴C應(yīng)用現(xiàn)在可以使用這個新計算列,就像使用其他列一樣。

MySQL算術(shù)操作符

【MySQL】不允許你還不了解創(chuàng)建計算字段
如何測試計算

??如何測試計算SELECT提供了測試和試驗函數(shù)與計算的一個很好的辦法。雖然SELECT通常用來從表中檢索數(shù)據(jù),但可以省略FROM子句以便簡單地訪問和處理表達式。例如,SELECT3*2;將返回6,SELECT Trim(‘a(chǎn)bc’);將返回abc,而SELECT Now()利用Now()函數(shù)返回當(dāng)前日期和時間。通過這些例子,可以明白如何根據(jù)需要使用SELECT進行試驗。

??如何鞏固學(xué)習(xí)

提示:在學(xué)習(xí)的過程中,我們需要先自行進行思考,而不是一遇到不會的就放棄思考直接看答案,如果最后遇到真的不會的題目,我們可以適當(dāng)?shù)倪M行觀看答案,看自己的思路是否正確,在作出正確的判斷

??本文小結(jié)

本文章介紹了計算字段以及如何創(chuàng)建計算字段。我們用例子說明了計算字段在串拼接和算術(shù)計算的用途。此外,還學(xué)習(xí)了如何創(chuàng)建和使用別名,以便應(yīng)用程序能引用計算字段。

好啦今日的分享到這里就結(jié)束啦,我是愛你們的M malloc希望可以幫助到你們噢,最后別忘記三連啦!!

【MySQL】不允許你還不了解創(chuàng)建計算字段

【MySQL】不允許你還不了解創(chuàng)建計算字段文章來源地址http://www.zghlxwxcb.cn/news/detail-500982.html

到了這里,關(guān)于【MySQL】不允許你還不了解創(chuàng)建計算字段的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • h5項目編寫成app,你還不了解嗎?直接打包和套webview結(jié)合uniapp兩種實現(xiàn)方式

    h5項目編寫成app,你還不了解嗎?直接打包和套webview結(jié)合uniapp兩種實現(xiàn)方式

    在各種需求中 大致有兩類 讓h5直接運行成app,有一個成熟的h5項目,想直接打包app 不想觸發(fā)app更新,又能獲取最新的更新效果,使用webview套h5,最終生成app 今天筆者帶大家粗略實現(xiàn)以上的兩個需求 打開hbuiderx 新建項目 選擇 5+app 刪除其他的多余文件 將自己打包生成的文件進

    2024年02月04日
    瀏覽(22)
  • 作為前端你還不懂MutationObserver?那Out了

    作為前端你還不懂MutationObserver?那Out了

    ?? 個人主頁: 不叫貓先生 ???♂? 作者簡介:前端領(lǐng)域新星創(chuàng)作者、阿里云專家博主,專注于前端各領(lǐng)域技術(shù),共同學(xué)習(xí)共同進步,一起加油呀! ??系列專欄:vue3從入門到精通、TypeScript從入門到實踐 ?? 資料領(lǐng)?。呵岸诉M階資料以及文中源碼可以找我免費領(lǐng)取 ?? 前端

    2024年04月29日
    瀏覽(26)
  • 【MySQL】不允許你不了解聯(lián)結(jié)表

    【MySQL】不允許你不了解聯(lián)結(jié)表

    ?? 博客主頁:博主鏈接 ?? 本文由 M malloc 原創(chuàng),首發(fā)于 CSDN?? ?? 學(xué)習(xí)專欄推薦:LeetCode刷題集! ?? 歡迎點贊 ?? 收藏 ?留言 ?? 如有錯誤敬請指正! ?? 未來很長,值得我們?nèi)Ρ几案篮玫纳? ??大家好呀,今天是我第N次寫MySQL,也是最近才學(xué)習(xí)MySQL,也想著記錄

    2024年02月12日
    瀏覽(24)
  • 你還不懂《順序表》?那就不要錯過這篇文章?。?!

    你還不懂《順序表》?那就不要錯過這篇文章?。?!

    ??????作者: @小魚不會騎車 ??????專欄: 《java練級之旅》 ??????個人簡介: 一名??拼笠辉谧x的小比特,努力學(xué)習(xí)編程是我唯一的出路?????? 在認識順序表前我們先認識一下線性表: 小魚曾在一本書中看到這么一個例子他是這樣介紹線性表的: 在一個幼兒園中

    2024年02月21日
    瀏覽(24)
  • 【MySQL】不允許你不了解如何匯總數(shù)據(jù)

    【MySQL】不允許你不了解如何匯總數(shù)據(jù)

    ?? 博客主頁:博主鏈接 ?? 本文由 M malloc 原創(chuàng),首發(fā)于 CSDN?? ?? 學(xué)習(xí)專欄推薦:LeetCode刷題集! ?? 歡迎點贊 ?? 收藏 ?留言 ?? 如有錯誤敬請指正! ?? 未來很長,值得我們?nèi)Ρ几案篮玫纳? ??大家好呀,今天是我第N次寫MySQL,也是最近才學(xué)習(xí)MySQL,也想著記錄

    2024年02月11日
    瀏覽(27)
  • 【MySQL】不允許你不了解如何分組數(shù)據(jù)

    【MySQL】不允許你不了解如何分組數(shù)據(jù)

    ?? 博客主頁:博主鏈接 ?? 本文由 M malloc 原創(chuàng),首發(fā)于 CSDN?? ?? 學(xué)習(xí)專欄推薦:LeetCode刷題集! ?? 歡迎點贊 ?? 收藏 ?留言 ?? 如有錯誤敬請指正! ?? 未來很長,值得我們?nèi)Ρ几案篮玫纳? ??大家好呀,今天是我第N次寫MySQL,也是最近才學(xué)習(xí)MySQL,也想著記錄

    2024年02月12日
    瀏覽(26)
  • 什么?作為程序員你還不知道人工智能搜索引擎?

    什么?作為程序員你還不知道人工智能搜索引擎?

    作者 :明明如月學(xué)長, CSDN 博客專家,螞蟻集團高級 Java 工程師,《性能優(yōu)化方法論》作者、《解鎖大廠思維:剖析《阿里巴巴Java開發(fā)手冊》》、《再學(xué)經(jīng)典:《EffectiveJava》獨家解析》專欄作者。 熱門文章推薦 : (1)《人工智能時代,軟件工程師們將會被取代?》 (2)

    2024年02月10日
    瀏覽(40)
  • 用了這么久rabbitmq,你還不知道它的目錄結(jié)構(gòu)嗎?

    用了這么久rabbitmq,你還不知道它的目錄結(jié)構(gòu)嗎?

    rabbitmq配置目錄:/etc/rabbitmq/ ? 常見配置文件有: (1)配置文件 rabbitmq.conf (2)環(huán)境變量文件 rabbitmq-env.conf (3)補充配置文件 advanced.config rabbitmq數(shù)據(jù)目錄:/var/lib/rabbitmq/ 目錄文件有: rabbitmq日志文件: /var/log/rabbitmq ? 目錄文件有: rabbitmq命令腳本:/usr/lib/rabbitmq/ 1.bin目錄

    2024年02月16日
    瀏覽(103)
  • 聽說你還不知道什么是 python?帶你深入理解什么是 python

    聽說你還不知道什么是 python?帶你深入理解什么是 python

    各位朋友們,大家好。在之后的時間里,我將陸續(xù)為大家分享我在python學(xué)習(xí)過程中學(xué)習(xí)到的知識點,如果你也對python感興趣的話,歡迎大家來訂閱我的python專欄哦,如果大家覺得博主的文章寫得不錯的話,記得給博主點個贊支持一下哦! Python是一種面向?qū)ο?、解釋型的高級?/p>

    2024年02月11日
    瀏覽(24)
  • 舊路由器不要扔,可當(dāng)電腦無線網(wǎng)卡使用,你還不知道吧!

    舊路由器不要扔,可當(dāng)電腦無線網(wǎng)卡使用,你還不知道吧!

    家里有舊路由器,賣二手又不值錢,扔了又可惜。 想不到路由器還有以下這些功能: 擴大Wifi覆蓋范圍; 充當(dāng)電腦無線網(wǎng)卡; 把這個技巧學(xué)起來, 提升網(wǎng)絡(luò)沖浪的幸福感! 路由器恢復(fù)出廠設(shè)置(通用教程) 有線橋接 無線橋接 如果忘記舊路由的管理頁和管理密碼,則需要恢

    2024年02月09日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包