欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MYSQL必知必會(huì)讀書(shū)筆記第十和十一章之使用函數(shù)處理數(shù)據(jù)

 更新時(shí)間:2016年05月05日 13:59:58   作者:自然鳥(niǎo)神  
這篇文章主要介紹了MYSQL必知必會(huì)讀書(shū)筆記第十和十一章之使用函數(shù)處理數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下

 mysql簡(jiǎn)介

MySQL是一種開(kāi)放源代碼的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS),MySQL數(shù)據(jù)庫(kù)系統(tǒng)使用最常用的數(shù)據(jù)庫(kù)管理語(yǔ)言--結(jié)構(gòu)化查詢(xún)語(yǔ)言(SQL)進(jìn)行數(shù)據(jù)庫(kù)管理。

拼接字段

存儲(chǔ)在數(shù)據(jù)庫(kù)表中的數(shù)據(jù)一般不是應(yīng)用程序所需要的格式。我們需要直接從數(shù)據(jù)庫(kù)中檢索出轉(zhuǎn)換、計(jì)算或格式化過(guò)的數(shù)據(jù);而不是檢索出數(shù)據(jù),然后再在客戶(hù)機(jī)應(yīng)用程序或報(bào)告程序中重新格式化。

計(jì)算字段(字段 = 列,不過(guò)數(shù)據(jù)庫(kù)列一般稱(chēng)為列,而字段通常用于計(jì)算字段中)并不實(shí)際存在于數(shù)據(jù)庫(kù)表中,計(jì)算字段是運(yùn)行時(shí)在select語(yǔ)句內(nèi)創(chuàng)建的。

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

在MySQL的select語(yǔ)句中,可使用Concat()函數(shù)來(lái)拼接兩個(gè)列。

如創(chuàng)建由兩列組成的標(biāo)題:生成一個(gè)供應(yīng)商報(bào)表,需要在供應(yīng)商的名字中按照name(location)這樣的格式列出供應(yīng)商的位置。此報(bào)表需要單個(gè)值,而表中數(shù)據(jù)存儲(chǔ)的兩個(gè)列vend_name和vend_country中。還需要用括號(hào)將vend_country括起來(lái)。


新創(chuàng)建的列用AS賦一個(gè)別名

去除空白

Ltrim() RTrim() Trim()

執(zhí)行算術(shù)計(jì)算

比如物品單單表存儲(chǔ)物品的價(jià)格和數(shù)量,但是不需要存儲(chǔ)每個(gè)物品的總價(jià)格(用價(jià)格乘以數(shù)量即可)。 為打印發(fā)票,需要物品的總價(jià)格。即需要增加一列,根據(jù)已有的列計(jì)算出來(lái)。

文本函數(shù)

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

將選擇的文本轉(zhuǎn)換成大寫(xiě)

select Upper(vend_name)from vendors;

Soundex()函數(shù):將任何文本傳轉(zhuǎn)換為描述其語(yǔ)音表示的字母數(shù)字模式的算法。(語(yǔ)音匹配?對(duì)發(fā)音比較而不是對(duì)字幕比較)

日期函數(shù)

日期和時(shí)間函數(shù)

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

addtime() 增加一個(gè)時(shí)間

curdate() 返回當(dāng)前日期

curtime() 返回當(dāng)前時(shí)間

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

datediff() 計(jì)算兩個(gè)日期差

date_add() 高度靈活的日期運(yùn)算函數(shù)

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

day() 返回一個(gè)日期的天數(shù)部分

dayofweek() 對(duì)于一個(gè)日期,返回對(duì)應(yīng)的星期幾

hour()

minute()

month()

now() 當(dāng)前日期和時(shí)間

second()

time() 當(dāng)前日期時(shí)間的時(shí)間部分

year()

一般,應(yīng)用程序不使用用來(lái)存儲(chǔ)日期和時(shí)間的格式,因此日期和時(shí)間函數(shù)總是被用來(lái)讀取,統(tǒng)計(jì)和處理這些值。

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

但是這樣的where order_date = '2005-09-01'不可靠。因?yàn)閛rder_date存儲(chǔ)的數(shù)據(jù)類(lèi)型是datatime. 這種類(lèi)型存儲(chǔ)日期及時(shí)間值。比如存儲(chǔ)的order_date值為2005-09-01 11:30:05,則where order_date = '2005-09-01'就會(huì)匹配失敗。

所以最安全的方法是Date()函數(shù),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;

聚集函數(shù)

我們經(jīng)常需要匯總函數(shù),而不是把它們實(shí)際檢索出來(lái)。

這種類(lèi)型的檢索例子:

1. 確定表中行數(shù)

2. 獲得表中行組的和

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

聚集函數(shù)(aggregate function) 運(yùn)行在行組上,計(jì)算和返回單個(gè)值的函數(shù)。

AVG() 返回某列的平均值

COUNT() 返回某列的行數(shù)

MAX() 返回某列的最大值

MIN() 返回某列的最小值

SUM() 返回某列值的和

求某一列的平均值

復(fù)制代碼 代碼如下:

select avg(prod_price) as avg_pricefrom products;

- 計(jì)數(shù)

使用count(*)對(duì)表中行的數(shù)目進(jìn)行計(jì)數(shù)(whether null or not)

使用count(column)對(duì)特定列具有值的行進(jìn)行計(jì)數(shù),忽略null

求和

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


以上所述是小編給大家介紹的MYSQL必知必會(huì)讀書(shū)筆記第十和十一章之使用函數(shù)處理數(shù)據(jù)的相關(guān)知識(shí),希望對(duì)大家有所幫助!

相關(guān)文章

  • MySQL中使用SHOW PROFILE命令分析性能的用法整理

    MySQL中使用SHOW PROFILE命令分析性能的用法整理

    這篇文章主要介紹了MySQL中使用show profile命令分析性能的用法整理,show profiles是數(shù)據(jù)庫(kù)性能優(yōu)化的常用命令,需要的朋友可以參考下
    2015-11-11
  • MySQL 事務(wù)概念與用法深入詳解

    MySQL 事務(wù)概念與用法深入詳解

    這篇文章主要介紹了MySQL 事務(wù)概念與用法,結(jié)合實(shí)例形式深入分析了MySQL 事務(wù)基本概念、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下
    2020-05-05
  • JDK1.7下測(cè)試ConnectorJ連接MySQL8.0的方法

    JDK1.7下測(cè)試ConnectorJ連接MySQL8.0的方法

    MySQL?Connector/J是一個(gè)JDBC?4型驅(qū)動(dòng)程序。Type?4標(biāo)志意味著驅(qū)動(dòng)程序是MySQL協(xié)議的純Java實(shí)現(xiàn),不依賴(lài)于MySQL客戶(hù)端庫(kù),這篇文章主要介紹了JDK1.7下測(cè)試ConnectorJ連接MySQL8.0,需要的朋友可以參考下
    2022-10-10
  • 安裝rpm包時(shí)提示錯(cuò)誤:依賴(lài)檢測(cè)失敗的解決方法

    安裝rpm包時(shí)提示錯(cuò)誤:依賴(lài)檢測(cè)失敗的解決方法

    今天在虛擬機(jī)中裝MySQL的時(shí)候,突然出現(xiàn)了這個(gè)依賴(lài)檢測(cè)錯(cuò)誤,下面這篇文章主要給大家介紹了關(guān)于安裝rpm包時(shí)提示錯(cuò)誤:依賴(lài)檢測(cè)失敗的解決方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • mysql建表報(bào)錯(cuò):invalid?default?value?for?'date'的解決方法

    mysql建表報(bào)錯(cuò):invalid?default?value?for?'date'的解決方

    最近遇到一個(gè)這樣的問(wèn)題,出現(xiàn)了invalid default value for 'end_date'錯(cuò)誤,所以下面這篇文章主要給大家介紹了關(guān)于mysql建表報(bào)錯(cuò):invalid?default?value?for?'date'的解決方法,需要的朋友可以參考下
    2022-12-12
  • MySQL臟讀幻讀不可重復(fù)讀及事務(wù)的隔離級(jí)別和MVCC、LBCC實(shí)現(xiàn)

    MySQL臟讀幻讀不可重復(fù)讀及事務(wù)的隔離級(jí)別和MVCC、LBCC實(shí)現(xiàn)

    這篇文章主要介紹了MySQL臟讀幻讀不可重復(fù)讀及事務(wù)的隔離級(jí)別和MVCC、LBCC實(shí)現(xiàn),事務(wù)A?按照查詢(xún)條件讀取某個(gè)范圍的記錄,其他事務(wù)又在該范圍內(nèi)出入了滿(mǎn)足條件的新記錄,當(dāng)事務(wù)A再次讀取數(shù)據(jù)到時(shí)候我們發(fā)現(xiàn)多了滿(mǎn)足記錄的條數(shù)
    2022-07-07
  • mysql多表join時(shí)候update更新數(shù)據(jù)的方法

    mysql多表join時(shí)候update更新數(shù)據(jù)的方法

    如果item表的name字段為''就用resource_library 表的resource_name字段前面加上字符串Review更新它,他們的關(guān)聯(lián)關(guān)系在表resource_review_link中。
    2011-03-03
  • MySQL slave_net_timeout參數(shù)解決的一個(gè)集群?jiǎn)栴}案例

    MySQL slave_net_timeout參數(shù)解決的一個(gè)集群?jiǎn)栴}案例

    這篇文章主要介紹了MySQL slave_net_timeout參數(shù)解決的一個(gè)集群?jiǎn)栴}案例,問(wèn)題日志請(qǐng)見(jiàn)正文,本文使用slave_net_timeout參數(shù)解決了這個(gè)問(wèn)題,需要的朋友可以參考下
    2015-05-05
  • MySQL 5.6主從報(bào)錯(cuò)的實(shí)戰(zhàn)記錄

    MySQL 5.6主從報(bào)錯(cuò)的實(shí)戰(zhàn)記錄

    這篇文章主要給大家介紹了關(guān)于MySQL 5.6主從報(bào)錯(cuò)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • MySQL增刪查改數(shù)據(jù)表詳解

    MySQL增刪查改數(shù)據(jù)表詳解

    這篇文章主要介紹了MySQL增刪查改數(shù)據(jù)表,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2022-11-11

最新評(píng)論