標籤:關聯 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(四)欄位及常用函數