[教學] MariaDB/MySQL 常用指令與語法範例

MariaDB」相對於MySQL來說,大家應該比較陌生,但其實二者可以說是系出同門,簡單的來說,MariaDB是MySQL的一個分支,完全免費,有興趣了解他們的恩怨情仇(誤)的讀者可以直接前往WiKi查看,在此就不多贅言。本文的重點是在記錄一些自己在學習的過程中所常用的一些指令,除了當自己的備忘錄外,也順便提供給初學者一個比較快速的入門參考

Read more

[MySQL/PostgreSQL] 如何利用DISTINCT/GROUP BY 解決重複資料,並傳回所有欄位

在資料庫篩選資料時候,常常會遇到重複資料的問題,因此,我們會使用「DISTINCT」及「GROUP BY」這二個SQL語法來過濾重複資料,但若只針對某一個欄位來篩選,那比較簡單一點,若是要符合不重複資料,而且又要回傳所有的欄位時,對於初學者來說就有一點難度,而且這二個語法的操作並不是所有的資料庫都是一樣的,例如在MySQL和PostgreSQL中這些指令的用法就會有一點不同,怎麼說呢?讓我們用實例來做說明吧。

示範表格:表格名稱為「DemoTable

Read more

SQL Fiddle § 線上練習SQL語法的測試網站,支援MySQL、PostgreSQL、SQLite

在學習SQL語法的時候,最直接的方式當然是架一個資料庫(例如MySQL),然後直接進行測試,不過有時候只是突然想測試一下語法的操作是否正確,若只為了這樣的需求就去裝一個資料庫,這樣實在是太費功夫了,如果可以在線上測試SQL語法的話,那麼是不是很方便呢?基於這樣子的想法,上網去查詢了一下,找到了今天要介紹的主角「SQL Fiddle」,它可以讓用戶直接在上面建立資料,然後進行SQL語法的操作、測試,支援的資料庫方便也不少,常見的MySQL、PostgreSQL、SQLite、Oracle都支援。

網址:SQL Fiddle 官網

Read more

[筆記] MYSQL/PostgreSQL語法中的LIMIT、OFFSET用法範例說明

SQL中的「LIMIT」語法可以限制傳回的資料筆數,但根據「1Keydata」的說法,使用SQL的LIMIT語句時通常會伴隨著「ORDER BY」,若沒有指定Order By的話,那麼資料的排序就會以資料庫的預設值為主,所以這有可能會造成取回的資料不對,因此建議在使用LIMIT時最好還是加上Order By,以確保資料正確。

示範表格:表格名稱為「DemoTable

Read more

Bug Tracking System § Mantis支援中文UTF-8編碼之設定教學(PHP + MYSQL)

以臭蟲追蹤(Bug Tracking System)的相關軟體來說,Mantis(螳螂)和Bugzilla是當中的佼佼者,蠻多專案都會用這二套Bug Tracker來協助開發(我用來當知識管理系統),其安裝方法在官網或是網路上都有很多教學文章,在此就不多說明,本篇最主要的目的在於如何讓Mantis的免安裝版本,支援中文字UTF-8的編碼,因為在Mantis官網中的「免安裝」版本,介面上雖可支援中文,但是一寫入資料,中文字就會變成「?」號,讓人奇檸子不是很好,雖然網路上有許多文章在討論如何支援UTF-8,可惜版本和我喜歡的免安裝版有點出入,只好上網詢問高手,順便自己動手修改看看,以下便是我簡單的修改方法,有需要的人可以參考看看,在此先聲明MYSQL、PHP我是一竅不通,所有資料都是網路查詢及旁敲側擊而來,有錯誤的或有更好的方法,請不吝告之。

Read more