MySQL是一個關系型數據庫管理系統(tǒng),由瑞典MySQL AB 公司開發(fā),目前屬于 Oracle 旗下產品。MySQL 最流行的關系型數據庫管理系統(tǒng),在 WEB 應用方面MySQL是最好的 RDBMS (Relational Database Management System,關系數據庫管理系統(tǒng)) 應用軟件之一。
MySQL是一種關聯數據庫管理系統(tǒng),關聯數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度并提高了靈活性。
MySQL所使用的 SQL 語言是用于訪問數據庫的最常用標準化語言。MySQL 軟件采用了雙授權政策,它分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發(fā)都選擇 MySQL 作為網站數據庫。由于其社區(qū)版的性能卓越,搭配 PHP 和 Apache 可組成良好的開發(fā)環(huán)境。

一、創(chuàng)建計算字段
1.拼接字段
在MySQL的SELECT語句中,可使用Concat()函數來拼接兩個列。
SELECT Concat(vend_name,'(',vend_country,')') FROM vendors ORDER BY vend_name;
此語句的輸出如下圖所示:

上述拼接完成后,新列并沒有名字,只是一個值。如果僅僅在SQL查詢工具中查看是可以的,但是,一個未命名的列不能用于客戶機應用中,因為客戶機沒有辦法引用它。為了解決這個問題,SQL支持列別名,別名用AS關鍵字賦予。
SELECT Concat(vend_name,'(',vend_country,')') AS vend_title FROM vendors ORDER BY vend_name;
此語句的輸出如下圖所示:

2.執(zhí)行算術計算
SELECT prod_id,quantity,item_price,quantity*item_price AS expanded_price FROM orderitems WHERE order_num=20005;
此語句的輸出如下圖所示:

二、使用數據處理函數
1.文本處理函數
Upper()函數將文本轉換為大寫。
SELECT vend_name,Upper(vend_name) AS vend_name_upcase FROM vendors ORDER BY vend_name;
此語句的輸出如下圖所示:

2.日期和時間處理函數
now() 返回當前日期和時間

如果要的是日期,請使用Date()。MySQL僅將給出的日期與列中的日期部分進行比較,而不是將給出的日期與整個列值進行比較。
SELECT cust_id,order_num FROM orders WHERE Date(order_date)='2005-09-01';
此語句的輸出如下圖所示:

如果要檢索出2005年9月下的所有訂單怎么辦?
SELECT cust_id,order_num FROM orders WHERE Date(order_date) BETWEEN '2005-09-01' AND '2005-09-30';
SELECT cust_id,order_num FROM orders WHERE Year(order_date) = 2005 AND Month(order_date) = 9;
此語句的輸出如下圖所示:

3.數值處理函數
Abs() 返回一個數的絕對值
Cos() 返回一個角度的余弦
Exp() 返回一個數的指數值
Mod() 返回操作數的余數
Sin() 返回一個角度的正弦