發表文章

目前顯示的是 2月, 2013的文章

[MYSQL] 自訂別名 "AS"

可針對資料表或欄位自訂別名 SELECT phone AS ph FROM mytable AS mt 註:AS可以省略,只要別名緊接在資料表或欄位名稱後即可

[MYSQL] 查看資料表結構

DESC mytable

[MYSQL] 分組 "GROUP BY"

列出不重覆的欄位值 SELECT * FROM mytable GROUP BY kind 搭配SUM()可以計算分組之後的總和 SELECT SUM(money) FROM mytable GROUP BY kind

[MYSQL] 指定比對數個項目 "IN"

判斷欄位值是否等於指定的數個項目其中之一 SELECT * FROM mytable WHERE name IN ('Bill','Candy','Ellen')

[MYSQL] 計算指定欄位中的資料筆數 "COUNT"

值為NULL的資料,並不會列入總筆數中 SELECT COUNT(email) FROM mytable

[MYSQL] 取最大值 "MAX()" 、 取最小值 "MIN()"

取出指定欄位中的最大值 SELECT MAX(money) FROM mytable 取出指定欄位中的最小值 SELECT MIN(money) FROM mytable

[MYSQL] 平均值 "AVG()"

計算指定欄位的所有值平均 SELECT AVG(money) FROM mytable

[MYSQL] 計算總合 "SUM()"

計算指定欄位的所有值總合 SELECT SUM(money) FROM mytable

[MYSQL] "LIKE"比對字串時,可用的萬用字元

%:任意數量的任意字元 _:一個任意字元

[MYSQL] 排序"ORDER BY"

"ORDER BY"要放在最後,可以有第一順位、第二順位... SELECT *FROM mytable ORDER BY name,phone 排序預設是"升冪",如果在結尾加上DESC則是"降冪"(大到小) SELECT *FROM mytable ORDER BY name DESC

[MYSQL] 修改資料表結構 "ALTER"

一、新增欄位(ADD),並設定PRIMARY KEY ALTER TABLE mytable ADD COLUMN id INT NOT NULL AUTO_INCREMENT FIRST,ADD PRIMARY KEY(id)f 如果要指定新增欄位的位置 ALTER TABLE mytable ADD COLUMN phone VARCHAR(10) AFTER id 註:AFTER可換成LAST或BEFORE,還有其他SECODE等 二、修改欄位(CHANGE) ALTER TABLE mytable CHANGE COLUMN id new_id INT NOT NULL AUTO_INCREMENT,ADD PRIMARY KEY('naw_id') 註:連續CHANGE則為 ALTER TABLE mytable CHANGE COLUMN name new_name VARCHAR(100),CHANGE COLUMN email new_email VARCHAR(30) 三、修改資料型別(MODIFY) ALTER TABLE mytable MODIFY COLUMN phone VARCHAR(120) 四、刪除資料欄(DROP) ALTER TABLE mytable DROP COLUMN phone

[MYSQL] SHOW出建構資料表的語法

僅秀出建立資料表結構的語法,不含表中的資料。 SHOW CREATE TABLE mytable

[MYSQL] 刪除資料 "DELETE"

刪除資料只能刪除某筆資料或所有資料,不能只刪除某筆資料中的特定欄位,也不能刪除所以資料的特定欄位。(刪除特定欄位應用UPDATE) DELETE FROM mytable WHERE id='001' 如果沒有加上WHERE條件就是刪除整份資料表 DELETE FROM mytable

[MYSQL] 更新資料 "UPDATE" (搭配CASE WHEN 可以做條件式判斷)

更新資料時須注意,如果不加上WHERE條件,則整個表的指定欄位都會被更新。 UPDATE mytable SET name='Tom',sex='man' WHERE id='001' 更新資料也可以搭配數學運算 UPDATE mytable SET pay=pay+1000 WHERE name='Tom' 搭配CASE WHEN 可以做條件式判斷 UPDATE mytable SET sex=  CASE   WHEN name='Bill' THEN 'B'   WHEN name='Candy' THEN 'G'   WHEN name='Ellen' AND phone='0932111000' THEN 'G'   ELSE sex  END

[MYSQL] 設定要撈出幾筆資料"LIMIT"

本範例為從0的位置(即第一筆)開始,取出五筆資料。  SELECT * FROM mytable ORDER BY id DESC LIMIT 0,5  也可簡寫成  SELECT * FROM mytable ORDER BY id DESC LIMIT 5

[MYSQL] 自我連結 (在同一份資料表中做聯結)

當 工號、姓名、主管工號 放在同一份資料表時,本範例可查詢出主管姓名。 SELECT boy1.name AS name1,boy2.name AS name2 FROM boy AS boy1 INNER JOIN boy AS boy2 ON boy1.boy_boss_id = boy2.id 說明:也就是雖然只有一個資料表,但我們把它當作兩個獨立的資料表去 join 就對了。

[MYSQL] 外部聯結 (以"左"外部聯結為例進行說明)

外部聯結是非常好用的聯結方式,常應用於 "主表(左表)" 對應 "附表(右表)",例如我們有一個主表是男孩名單,有一個附表是男孩擁有的玩具清單,當我們希望左資料表即便沒有對應到右資料表的任何一筆資料,也要列入時,就會需要使用這種連結方式。 例如:所有男孩擁有玩具的對應清單,即便部份男孩未擁有任何玩具,我們也希望那些男孩的名字列在清單上,只是對應的玩具欄位是NULL。 SELECT boy.name,toy.name FROM boy LEFT OUTER JOIN ON boy.toy_id = toy.id 備註: 使用外部聯結,固定用"左"或固定用"右",會比較簡單,本範例的查詢結果,與內部聯結的差別在於,【如果沒有對應左資料表欄位的資料,則會出現NULL】。

[PHP][OOP]魔術方法(magic method)

在PHP中,有兩個底線代表是"魔術方法"(magic method),也就是具有特殊的功能,例如: 建構式 __construct() 當我們實體化(instantiate)一個物件(object)時,就會自動執行這個建構式。 解構式 __destruct() 當物件被銷毀時呼叫解構式,解構式不帶參數。 自動加載 __autoload() 當需要一個類別的宣告而還未引入時,告訴php去哪裡找到該檔案。 舉例來說:...

[PHP][OOP]物件導向 基本名詞

圖片
類別 class : 創建物件(object)的藍圖 物件 object : 一個東西 實例化 instantiate : 從類別產生物件的動作 方法 method : 屬於物件的功能 屬性 property : 屬於物件的變數 舉例來說...