文章標籤 ‘mysql

[mysql] MySQL 5.0 的 Stored Procedure

分類: 技術分享 作者: daniel

14 五月 2009

O'reilly 的 MySQL Stored Procedure ProgrammingMySQL 在 5.0 版後,增加了 Stored Procedure 的功能, 讓 MySQL 能夠真正的具備大型商用資料庫的架勢。根據維基百科的說明,Stored Procedure 預存程式是一種在資料庫中儲存的程式,同時也是可供外部程式呼叫的一種資料庫物件,可以視為資料庫中的函數或子程式。透過它的幫助,首先我們能夠減少使用外部程式(如 PHP)時,因多次 Query 資料庫而花費的往返時間;而且 Stored Procedure 儲存在資料庫時,可以視為已經編譯完成的程式,所以在執行效能上比一般 SQL Query 更為迅速。其次由於它存在資料庫中,因此如果有多個外部程式必須同時應用到這個程式時,只要呼叫同一支 Stored Procedure 即可;不需要因為更換外部程式而重新撰寫程式,大大的提升程式的可維護性。不過受限於它是於資料庫中使用的程式,當然在可用的變數型態,以及支援的函數上都遠不如真正的程式語言;所以只適合用在簡單不複雜的一般邏輯判斷上。左圖是 O'Reilly 於 2006 年出版的《MySQL Stored Procedure Programming》;雖然並沒有中文版,不過 O'Reilly 願意專門為 MySQL 的 Stored Procedure 出書,這個功能對於開發者來說的重要性可見一斑。

繼續閱讀 »

[mysql] 5.0版新支援的view--8個錯誤的設定

分類: 技術分享 作者: andrew

16 四月 2009

緣起

之前公司的某個現有客戶想要追加新功能,因為當初這個專案並沒有參與到,所以就花了一些時間在研究資料庫結構及功能流程。在看mysql發現到有使用到以前沒有接觸過的view的概念,就上網找了些資料來詳讀。或許對很多使用非mysql資料庫的程式設計師來說,view的概念其實很簡單甚至覺得不需要特別寫這篇文章;但是其實mysql是一直到5.0版才開始支援view的概念,也因為不支援view而造成在其他資料庫轉入mysql時造成小小的困擾。這篇文章主要會介紹在撰寫view的語法時要特別注意的8個錯誤,就讓我們開始吧!
繼續閱讀 »

整理資料庫時,總會遇到 Email 格式不正確的問題。這時只要利用 MySQL 的正規式就可以輕鬆找出有問題的 Email 了。

SELECT *
FROM `users`
WHERE email NOT
REGEXP
'^[a-zA-Z0-9][a-zA-Z0-9._+-]*[a-zA-Z0-9_-]@[a-zA-Z0-9][a-zA-Z0-9._-]*[a-zA-Z0-9]+..[a-zA-Z]{2,4}$'

繼續閱讀 »

啟動 MySQL 的 log 紀錄功能

分類: 技術分享 作者: andrew

14 八月 2008

1.找到mysql的設定檔my.cnf(通常是放在/etc/my.cnf)

2. 在[mysqld]下方加上一行

log = {存放log的路徑/log檔名}

3.重新啟動mysql > /etc/init.d/mysql restart

4.開啟步驟2設定的log檔.會發現所有mysql有執行過的指令都寫在裡面

[point]

如果重新啟動mysql發現log檔沒有在指定路徑下產生.請依照下面建議:

1.確認目前機器上mysql使用的設定檔my.cnf是否是步驟1修改的.

2.確認後還是沒有產生的話.建議建立新的資料夾.並設定owner為mysql:mysql.

記得my.cnf中也要比照修改到新的路徑

(會有此情況是因為資料夾權限的關係)


關於這裡

這個部落格分享了哇寶在電子商務領域的技術及資訊,希望能讓更多人一起為台灣的網路產業加油。

  • admin: 您好,目前已復原囉,可以再試看看。 [...]
  • Henry Liu: I'm looking for portable swamp cooler fan, let me know their specifications and prices if 平鎮 or [...]
  • Henry Liu: Sirs/Madam~ Does B & Q (平鎮店) on 環南路 sale "WATER COOLER FAN"? If they do" 1. Wh [...]
  • Anny: 你好,謝謝你寫的這個超方便工具 他怎麼失效了呢T___T? 會再恢復嗎? [...]
  • Eric: 这正是我要找的东西呢, 近来我也在研究怎样把条码加在Word上, 稍微有点 [...]