程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MYSQL必知必會讀書筆記第十和十一章之使用函數處理數據,mysql第十和

MYSQL必知必會讀書筆記第十和十一章之使用函數處理數據,mysql第十和

編輯:MySQL綜合教程

MYSQL必知必會讀書筆記第十和十一章之使用函數處理數據,mysql第十和


 mysql簡介

MySQL是一種開放源代碼的關系型數據庫管理系統(RDBMS),MySQL數據庫系統使用最常用的數據庫管理語言--結構化查詢語言(SQL)進行數據庫管理。

拼接字段

存儲在數據庫表中的數據一般不是應用程序所需要的格式。我們需要直接從數據庫中檢索出轉換、計算或格式化過的數據;而不是檢索出數據,然後再在客戶機應用程序或報告程序中重新格式化。

計算字段(字段 = 列,不過數據庫列一般稱為列,而字段通常用於計算字段中)並不實際存在於數據庫表中,計算字段是運行時在select語句內創建的。

拼接 concatenate 將值聯結到一起構成單個值

在MySQL的select語句中,可使用Concat()函數來拼接兩個列。

如創建由兩列組成的標題:生成一個供應商報表,需要在供應商的名字中按照name(location)這樣的格式列出供應商的位置。此報表需要單個值,而表中數據存儲的兩個列vend_name和vend_country中。還需要用括號將vend_country括起來。


新創建的列用AS賦一個別名

去除空白

Ltrim() RTrim() Trim()

執行算術計算

比如物品單單表存儲物品的價格和數量,但是不需要存儲每個物品的總價格(用價格乘以數量即可)。 為打印發票,需要物品的總價格。即需要增加一列,根據已有的列計算出來。

文本函數

left() 串左邊字符
length() 串長度
locate() 找出串的一個子串
lower() 轉為小寫
ltrim() 去掉左邊空格
right() 返回串右邊字符
rtrim() 去掉串右邊空格
soundex() 返回字符串soundex值
upper() 大寫

將選擇的文本轉換成大寫

select Upper(vend_name)from vendors;

Soundex()函數:將任何文本傳轉換為描述其語音表示的字母數字模式的算法。(語音匹配?對發音比較而不是對字幕比較)

日期函數

日期和時間函數

adddate() 增加一個日期-天或周

addtime() 增加一個時間

curdate() 返回當前日期

curtime() 返回當前時間

date() 返回日期時間的日期部分

datediff() 計算兩個日期差

date_add() 高度靈活的日期運算函數

date_format() 返回一個格式化的日期或時間串

day() 返回一個日期的天數部分

dayofweek() 對於一個日期,返回對應的星期幾

hour()

minute()

month()

now() 當前日期和時間

second()

time() 當前日期時間的時間部分

year()

一般,應用程序不使用用來存儲日期和時間的格式,因此日期和時間函數總是被用來讀取,統計和處理這些值。

MySQL的日期格式:yyyy-mm-dd。 比如 2005-09-01

但是這樣的where order_date = '2005-09-01'不可靠。因為order_date存儲的數據類型是datatime. 這種類型存儲日期及時間值。比如存儲的order_date值為2005-09-01 11:30:05,則where order_date = '2005-09-01'就會匹配失敗。

所以最安全的方法是Date()函數,Date(order_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 Year(order_date) = 2005 and Month(order_date) = 9;

聚集函數

我們經常需要匯總函數,而不是把它們實際檢索出來。

這種類型的檢索例子:

1. 確定表中行數

2. 獲得表中行組的和

3. 找出表列(or 所有行某些特定的行)的最大值,最小值和平均值

聚集函數(aggregate function) 運行在行組上,計算和返回單個值的函數。

AVG() 返回某列的平均值

COUNT() 返回某列的行數

MAX() 返回某列的最大值

MIN() 返回某列的最小值

SUM() 返回某列值的和

求某一列的平均值

復制代碼 代碼如下:
select avg(prod_price) as avg_pricefrom products;

- 計數

使用count(*)對表中行的數目進行計數(whether null or not)

使用count(column)對特定列具有值的行進行計數,忽略null

求和

使用sum()返回指定列值的和


以上所述是小編給大家介紹的MYSQL必知必會讀書筆記第十和十一章之使用函數處理數據的相關知識,希望對大家有所幫助!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved