目前分類:Mysql 基本概念 (3)

瀏覽方式: 標題列表 簡短摘要

在連上資料庫後,對資料的操作(新增資料、更新資料、刪除資料)

(a) 新增資料: insert into 資料表1 (欄位名稱1, 欄位名稱2, 欄位名稱3) values( 數字值, “字串值”,”日期值”)

例如:insert into student (age, name, birthday) values( 20, “梁阿珠”,”1993-10-10”)

註一:欄位名稱可以不照mysql中的順序輸入。

註二:輸入欄位名稱時,不一定要把資料表中所有欄位都輸入。

(b) 更新資料:update 資料表1 set 欄位名稱1=1, 欄位名稱2=2, 欄位名稱3=值三 where 欄位條件

例如:update student set age=200, name=’梁阿祖’,birthday=’1399-10-10’where  name=”梁阿珠

註一:若不輸入欄位條件,則可能該資料表中所有資料都被更新。若輸入欄位條件,則所有符合此條件的欄位都會被更新。

(c) 刪除資料:delete from 資料表1 where 欄位條件

註:欲刪除資料表中所有資料,可用:delete from 資料表1

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

sql 查詢指令:(查詢指令不分大小寫)

在進入某個資料庫後,可使用以下指令:

(1) select 欄位名稱 from 資料表名稱 //秀出該資料表中該欄位所有列的資料

(2) select* from 資料表名稱 //秀出該資料表中所有欄位所有列的資料( * 代表全部的意思)

(3) select 欄位名稱 from 資料表名稱 where 欄位條件  //欄位條件可為:

(a). 若某欄位的資料形態是數字,則欄位條件可為: 欄位名稱>2 ; 欄位名稱<7.3333 ; 欄位名稱=-50 ; 等等等

(b). 若某欄位的資料形態是字串,則欄位條件可為: 欄位名稱=”李大同” ; // != sql語言中被寫為 <> ,例:欄位名稱<>”李大同” ;

(c). 若想要找出字串欄位中,有某字的資料形態,則欄位條件可為: 欄位名稱 like ”%” ; 欄位名稱 like =”%%”;

// 前者是找出姓李的人,後者是找出名字裡有字的人。 %代表任意長度的字串,_代表任意一個字元。

(d). 欄位條件可以是多個欄位條件的邏輯運算,如:欄位名稱>2 or 欄位名稱<- 4 ; 欄位名稱<2 and 欄位名稱>- 4;

  •         between -4 and 2 ;//就是欄位名稱<2 and 欄位名稱>- 4”的意思  

(4) 欄位的多重選擇:select 欄位名稱1, 欄位名稱2, 欄位名稱3 from 資料表名稱 //秀出該資料表中的欄位名稱1欄位名稱2欄位名稱3中所有列資料。

(5) 多重選擇的多重欄位篩選條件:select 欄位名稱1, 欄位名稱2, 欄位名稱3 from 資料表名稱 where 欄位條件 //欄位條件可以是所選擇之欄位的運算,如:欄位名稱1 + 欄位名稱2 +欄位名稱3>100 ; 等等。

(6) 多重篩選條件:select 欄位名稱1, 欄位名稱2, 欄位名稱3 from 資料表名稱 where欄位條件 //欄位條件可為:欄位名稱 in(“王小明”,”陳小華”)//意思等於:欄位名稱=”王小明” or 欄位名稱=”陳小華

(7) 依照欄位資料來排序:select* from 資料表名稱 order by 欄位名稱1 // 依照欄位名稱1的大小(若此欄位資料形態為數字則可用,為字串則不知道)來排序資料列甚至是欄位列,由小排到大(置頂者為小)

// 若要反向排序(至頂者為大)select* from 資料表名稱 order by 欄位名稱1  desc

(8) 限制筆數:該欄位由第一筆算起,不顯示所有列,只顯示特定前幾列。如:select 欄位名稱 from 資料表名稱 limit 5 //只顯示該欄位名稱的前五筆資料

(9) 反向查詢:使用not運算子,not運算子可以加在likebetweenin之前,形成not likenot betweennot in。如:

select* from 資料表名稱 where not in(“王小明”,”陳小華”)

  • 表示在該資料表中尋找除了王小明、陳小華以外的資料

(10) 聚合函式:可對欄位資料進行運算

(a) count(欄位名稱) :若該欄位有n筆資料,則回傳n。使用方法例如:

select count(欄位名稱) from 資料表名稱;

(b) max(欄位名稱) :回傳該欄位中每筆資料之間的最大值(就算該欄位的資料形態非是數字也可傳回),使用方法例如:

select max(欄位名稱) from 資料表名稱;

(c) avg (欄位名稱) :回傳該欄位中每筆資料加總後的平均值(就算該欄位的資料形態非是數字也可傳回),使用方法例同上。

(d) min(欄位名稱) :回傳該欄位中每筆資料之間的最小值(就算該欄位的資料形態非是數字也可傳回),使用方法例同上。

(e) max(欄位名稱) :回傳該欄位中每筆資料的加總(就算該欄位的資料形態非是數字也可傳回),使用方法例同上。

(11)  sql的子查詢(subquery):在where 後的欄位條件為另一個由select開頭的查詢指令。在欄位條件與資料庫中的其他資料表有關時適用。

例如,在資料表1資料表2中都有一個欄位名稱,叫做欄位名稱1,而在資料表2中有個欄位叫欄位名稱2

select* from 資料表1 where 欄位名稱1=(select 欄位名稱1 from 資料表2 where 欄位名稱2 = “10”);

//意思是,將資料表2中、欄位名稱2=10的資料找出來,並將其欄位名稱1對應到資料表1欄位名稱1,查詢在資料表1中符合此條件的資料。

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

Mysql簡易教學之第一篇

 

Mysql基本概念:

Mysql是常被使用的資料庫管理系統,免費、開放原始碼、且效能高。尤其常被用來與php搭配,在網頁伺服器中,處理客戶端從外部發出的請求,查詢、存取伺服器的內部資料,效率頗高。雖然其功能和付費的資料庫管理系統仍有差距,但對於中小企業而言已經很夠用了。且因其免費、容易上手,頗受一般大眾喜愛。

 

Mysql基本分層架構:資料庫(database,數據庫)à資料表(table, 數據表)à欄位(column field,字段),資料(data)à資料值(value,)

如下圖所示:

image

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()