MySQL(四)欄位及常用函式

2021-09-07 09:07:38 字數 2747 閱讀 7989

一、字段

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

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

1、字段(filed):與物件或類關聯的變數(大多數時候,與列的意思相同);

每個欄位由若干按照某種界限劃分的相同資料型別的資料項組成。

但有時候,字段不是表中的列,而是在計算欄位的連線上;

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

ps:多數dbms使用+或者||實現拼接,mysql則使用concat()函式來實現(當把sql語句轉換為mysql語句時,要注意這個區別)

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

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

別名的作用:

①指示sql建立乙個包含指定計算的計算字段

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

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

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

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

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

二、資料處理函式

1、特點

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

函式沒有sql的可移植性強(能執行在多個系統上的**稱為可移植的),多數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為2023年5月的所有行!

MySQL(四)欄位及常用函式

一 字段 資料庫表中的每一行叫做乙個 記錄 每乙個記錄包含這行中的所有資訊,但記錄在資料庫中並沒有專門的記錄名,常常用它所在的行數表示這是第幾個記錄。在資料庫中存放在表行列交叉處的資料叫做 值 它是資料庫中最基本的儲存單元,它的位置要由這個表中的記錄和字段來定義。1 字段 filed 與物件或類關聯...

mysql欄位公式 MySQL(四)欄位及常用函式

一 字段 資料庫表中的每一行叫做乙個 記錄 每乙個記錄包含這行中的所有資訊,但記錄在資料庫中並沒有專門的記錄名,常常用它所在的行數表示這是第幾個記錄。在資料庫中存放在表行列交叉處的資料叫做 值 它是資料庫中最基本的儲存單元,它的位置要由這個表中的記錄和字段來定義。1 字段 filed 與物件或類關聯...

mysql 字段位元組 MySql欄位型別及位元組

字段型別 tinyint 乙個很小的整數。有符號的範圍是 128到127,無符號的範圍是0到255。smallint 乙個小整數。有符號的範圍是 32768到32767,無符號的範圍是0到65535。mediumint 乙個中等大小整數。有符號的範圍是 8388608到8388607,無符號的範圍是...