MySQL(四)欄位及常用函數

來源:互聯網
上載者:User

標籤:關聯   blog   bsp   串連   拼接   and   意思   資料庫   資料庫表   

一、欄位

資料庫表中的每一行叫做一個“記錄”,每一個記錄包含這行中的所有資訊,但記錄在資料庫中並沒有專門的記錄名,常常用它所在的行數表示這是第幾個記錄。

在資料庫中存放在表行列交叉處的資料叫做“值”,它是資料庫中最基本的儲存單元,它的位置要由這個表中的記錄和欄位來定義。

1、欄位(filed):與對象或類關聯的變數(大多數時候,與列的意思相同);每個欄位由若干按照某種界限劃分的相同資料類型的資料項目組成。

但有時候,欄位不是表中的列,而是在計算欄位的串連上;如:一個表"T”中只有列"ID”,內容為"int"值"1",運用"select id, id * 5 as abc from T",得出的結果為:id   abc

                                                                                                                                                             1     5

2、拼接(concatenate):用來拼接2個列的函數,可將值連接到一起構成單個值

PS:多數DBMS使用+或者||實現拼接,MySQL則使用concat()函數來實現(當把SQL語句轉換為MySQL語句時,要注意這個區別)

concat()函數:拼接串,即把一個或多個串聯接起來形成一個較長的串;需要一個或多個指定的串,各個串之間用逗號分隔

3、別名(alias):一個欄位或值的替換名,別名用as關鍵字賦予(比如上面例子中的abc),有時也稱為匯出列(derived column)

別名的作用:

①指示SQL建立一個包含指定計算的計算欄位

②在實際的表列名包含不符合規定的字元(如空格)時重新命名它

③在原來的名字含混或容易誤解時擴充它

4、算數操作符:計算欄位時常用的操作符

計算欄位的常見用途就是對檢索出的資料進行算數計算,MySQL基本操作符如下:

其中,圓括弧()可用來區分優先順序

 

二、資料處理函數

1、特點

SQL支援利用函數來處理資料,函數一般都是在資料上執行的

函數沒有SQL的可移植性強(能運行在多個系統上的代碼稱為可移植的{portable}),多數SQL是可移植的

函數可移植性不強(幾乎每種主要的DBMS的實現都支援其他實現不支援的函數,而且有時差異很大)

PS:如果使用函數,應保證做好代碼注釋,以便日後使用時可以確切知道所編寫的SQL代碼的含義

大多數SQL實現支援一下類型函數:

①用於處理文本串(刪除填儲值,轉換值大小寫等)的文本處理函數

②用於在數值資料上進行算數操作(如返回絕對值,進行代數運算)的數值處理函數

③用於處理日期和時間值並從這些值中提取特定成分(如返回兩個日期之差,檢查日期有效性等)的日期和時間處理函數

④返回DBMS正在使用的特殊資訊(如返回使用者登陸資訊,檢查版本細節等)的系統函數

2、文本處理函數

例子:select column upper(column) as column1 from table order by column;

常見的文本處理函數表如下:

soundex是一個將任何文本串轉換為描述其語音表示的字元模式的演算法;soundex考慮了類似的發音字元和音節,使得能對串進行發音比較而不是字母比較(多數DBMS都提供對其的支援)

3、數值處理函數

數值處理函數僅處理數值資料,這些函數一般主要用於代數、三角或幾何計算,使用頻率相對不是太高(在主要的DBMS中,數值函數是最統一最一致的函數)

常用數值處理函數表如下:

4.日期和時間處理函數

日期和時間採用相應的資料類型和特殊的格式儲存,一遍可以快速有效排序或過濾,並且節省實體儲存體空間

一般來說應用程式不適用用來儲存日期和時間的格式,因此日期和時間函數總是被用來讀取、統計和處理這些值(日期和時間函數在MySQL語言中具有重要的作用)

常用日期和時間處理函數表如下:

PS:對於日期,無論插入更新還是使用where子句進行過濾,日期格式必須為yyyy-mm--dd,而且應始終使用4位元字的年份

       如果需要的是日期值,使用date()函數是一個好習慣;如果想要時間值時,time()函數也是最好的選擇

例子:select column1, column2 from table where date(table_date) between ‘2013-05-20‘ and ‘2014-5-20‘;

其中between操作符用來把2013-05-20和2014-05-20定義為一個要匹配的日期範圍

select column1, column2 from table where year(table-date) = 2013 and month(table_date) = 5;

year()是一個日期(從日期時間)中返回年份的函數,month()從日期中返回月份;

因此 where year(table-date) = 2013 and month(table_date) = 9檢索出table_date為2013年5月的所有行!

 

MySQL(四)欄位及常用函數

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.