PIXNET Logo登入

程式開發學習之路

跳到主文

本站 程式開發教學學習交流,主要提高開發程式效率同時分享一些開發程式經驗。

深入探討開發程式體驗等技術和教學,相關技術等學習交流: 語言(Languages)及框架(Framework): Java、 JSP/Tag/JSTL/Servlet、 Grails、 jQuery、 JavaScript、 Spring、 SpringMVC、 SpringSecurity、 Hibernate、 Struts、 PHP、 C/C++、 GoogleAppEngine、 HTML5/CSS3、 Android、 Xml、 Ajax、 Json、 Ant、 UML、 ShellScripts、 AngularJS等。
工具(Software)/環境(Environment): Windows7、 Eclipse、 Linux、 Subversion、 maven、 Tomcat、 Weblogic、 Jboss、 Apache 等。
資料庫(Database): MySQL、 Oracle SQL、 PostgerSQL、 SQL Server 等。
本站內容僅供分享學習交流之用,將不對任何資源負法律責任。如有侵犯您的版權,請來信或留言給我們,我們將盡快為您處理。

部落格全站分類:職場甘苦

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 3月 16 週一 201515:36
  • MySQL教學


本篇整理MySQL教學系列,由簡單的教學說明,淺到深列出目錄。
希望可以幫助到想學習MySQL的朋友們。

MySQL-安裝Windows



  • [MySQL]MySQL 下載安裝 --Windows






  • [MySQL]MySQL 環境變數設定--Windows






  • [MySQL]MySQL 設定遠端登入--Windows





MySQL-基本系列教學



  • [MySQL]1-1 CREATE TABLE用法






  • [MySQL]1-2 MySQL資料型態






  • [MySQL]1-3 INSERT INTO新增表格資料






  • [MySQL]1-4 查詢資料(SELECT)






  • [MySQL]1-5 別名的用法(AS)






  • [MySQL]1-6 在SQL語法中使用註解






  • [MySQL]1-7 條件的用法(WHERE)






  • [MySQL]1-8 排序的用法(ORDER BY)






  • [MySQL]1-9 刪除資料(DELETE)






  • [MySQL]1-10 刪除表格(DROP) 





MySQL-進階系列教學



  • [MySQL]2-1 表格的關連及限制用法_PK_FK_UK_INDEX






  • [MySQL]2-2 使用LIKE 查詢資料用法






  • [MySQL]2-3 表格連接用法(JOIN)






  • [MySQL]2-4 表格連接用法(Cartesian Joins)






  • [MySQL]2-5 表格連接用法(LEFT JOIN)






  • [MySQL]2-6 表格連接用法(RIGHT JOIN)






  • [MySQL]2-7表格連接用法(STRAIGHT_JOIN)






  • [MySQL]2-8表格連接用法(NATURAL JOIN) 






  • [MySQL]2-9使用子查詢 






  • [MySQL]2-10使用MAX及MIN及GROUP BY






  • [MySQL]2-11使用SUM及GROUP BY






  • [MySQL]2-12使用COUNT及GROUP BY






  • [MySQL]2-13 DISTINCT vs GROUP BY 的差異比較






  • [MySQL]2-14 UNION ALL 及 UNION 使用比較(附加FULL JOIN) 






  • [MySQL]2-15 宣告變數及其應用 





MySQL-語法快速查詢



  • [MySQL]語法快速查詢






  • [MySQL]mySql的常用指令




(繼續閱讀...)
文章標籤

PG Levin Li 發表在 痞客邦 留言(0) 人氣(30,548)

  • 個人分類:MySQL
▲top
  • 3月 31 週日 201321:50
  • [MySQL]MySQL 環境變數設定--Windows


 一、設定MYSQL_HOME      1、控制台->進階系統設定      2、環境變數      3、選擇系統變數->新增      4、變數名稱及變數值             變數名稱 :  MYSQL_HOME             變數值     : C:\Program Files\MySQL\MySQL Server 5.6      5、確定 -> 在系統變數會出顯剛設定      6、確定
(繼續閱讀...)
文章標籤

PG Levin Li 發表在 痞客邦 留言(0) 人氣(6,037)

  • 個人分類:MySQL
▲top
  • 3月 31 週日 201321:33
  • [MySQL]MySQL 設定遠端登入--Windows




在MySQL預設只開放本機連線,如果要從遠端連線,則要另外設定。
OS ---Windows 7

1、先執行cmd 命令提示字元
(繼續閱讀...)
文章標籤

PG Levin Li 發表在 痞客邦 留言(0) 人氣(15,936)

  • 個人分類:MySQL
▲top
  • 3月 20 週三 201318:43
  • [MySQL]MySQL 下載安裝--Windows



MySQL 下載
http://www.mysql.com/downloads/

選擇下載MySQL Community Server依你的作業系統選擇你要下載的類型。
在這裡是下載Windows (x86, 32-bit), ZIP Archive
(繼續閱讀...)
文章標籤

PG Levin Li 發表在 痞客邦 留言(0) 人氣(19,593)

  • 個人分類:MySQL
▲top
  • 12月 24 週六 201115:20
  • java、MySQL 學徒程式設計: [MySQL]2-2使用LIKE 查詢資料用法

java、MySQL 學徒程式設計: [MySQL]2-2使用LIKE 查詢資料用法: LIKE 在 LIKE 前面加上 NOT ,NOT LIKE表示与 LIKE 相反的意思。 LIKE 通常配 % 一起使用, % 表示不比對,全部都要。 MYSQL LIKE是不分大小寫的,以下的查詢會查出一樣的。 查詢名字是mr 開頭的。 SELECT * F...



(繼續閱讀...)
文章標籤

PG Levin Li 發表在 痞客邦 留言(0) 人氣(54)

  • 個人分類:MySQL
▲top
  • 12月 24 週六 201113:45
  • java、MySQL 學徒程式設計: [MySQL]執行順序與效率概論

java、MySQL 學徒程式設計: [MySQL]執行順序與效率概論: MySQL執行順序如下 1. FROM 2. ON 3. JOIN 4. WHERE 5. GROUP BY 6. WITH CUBE or WITH ROLLUP 7. HAVING 8. SELECT 9. DISTINCT 10. ORDER BY ...



(繼續閱讀...)
文章標籤

PG Levin Li 發表在 痞客邦 留言(0) 人氣(103)

  • 個人分類:MySQL
▲top
  • 12月 24 週六 201111:09
  • [MySQL]執行順序與效率概論

MySQL執行順序如下
1.FROM
2.ON
3.JOIN
4.WHERE
5.GROUP BY
6.WITH CUBEor WITH ROLLUP
7.HAVING
8.SELECT
9.DISTINCT
10.ORDER BY
11.TOP / LIMIT

如果想要知道自己SELECT語句的效率如何,可以在SELECT之前加上EXPLAIN 關鍵字
即可得知相關的執行順序及效率分析<此篇不對此做討論>

如上所列查詢語句有其執行的順序,所以要讓自己的查詢語句提昇效率就必須從這上述各點來下手,在此以例子直接說明
SELECT
         *
FROM
         user
         JOIN
                  userProfile AS pro
         ON
                  user.id = pro.userId
         JOIN
                  userAgreement AS agr
        ON
                  agr.userId = user.id
WHERE
         user.birthday = '1984-06-25'
         AND
         pro.local = '員林'

 這句SQL執行的順序是
1.FROM    user
2.ON         user.id = pro.userId
3.JOIN      userProfile AS pro
4.ON         agr.userId = user.id
5.JOIN      userAgreement AS agr
6.WHERE user.birthday = '1984-06-25'
                  AND
                  pro.local = '員林'
7.SELECT *

查詢顧名思義如同在電話簿中找尋某人的名字一樣,資料量越大、所知的條件越少查詢所需時間就越長,相對的資料量越少、知道的條件越明確查詢所需的時間就越短。

那麼在這樣的執行順序下我們要怎麼讓資料量縮小以加快速度呢?
照執行順序來走
1.先碰到的就是user這個table,這個table相對於其他兩個table是否資料量最少?以此例討論的確是如此,因為user對userProfile、userAgreement都是一對多的關係,當然以user當開頭是一個好開頭。

2.接下來限制條件,以明確的條件來限制、以及少量的資料來比對大量的資料,自然就能保持較佳的查詢效率了。

3.有了明確條件以及少量資料比對的限制,JOIN table效率自然會比較好。

4.5.如上兩點所言,越明確的條件以及少量資料的比對,效率會更好,所以這裡值得注意的是ON         agr.userId = user.id  以大量的資料去比對少量的資料,這是反其道而行會適得起反降慢速度,ON   user.id = agr.userId 如果改成這樣就會變成以少量資料去比對大量資料,則又可獲得較佳的效率了。

6.當上述的TABLE都JOIN完成之後,再用WHERE來做整體的條件限制,一直以來都是這麼做的沒錯吧~那就錯大了!!如果條件可以在上面ON的時候就限制,資料量便可再更縮小,JOIN出來的TABLE就會很小甚至精準到需求的資料,有時候根本連WHERE都不用寫,那該怎麼寫呢?稍後將會把改完的SQL寫在下方給大家參考。

7.JOIN完TABLE,限制條件也結束了,才開始SELECT,此時會將使用者所需要的資料一一列出,大家都會用*來簡便的將一切列出,這也是降低效率的兇手之一,SELECT越明確,越少的欄位會讓整體速度稍微加快,因此在SELECT部份也盡量少濫用*,可獲得較佳的效率

透過上述幾點,將修改後的SQL寫出如下︰
SELECT
         user.id,
         user.username,
         pro.phone,
         agr.agreementEndDate
FROM
         user
         JOIN
                  userProfile AS pro
         ON
                  user.birthday = '1984-06-25'
                  AND
                  pro.local = '員林'
                  AND
                  user.id = pro.userId
         JOIN
                  userAgreement AS agr
         ON
                  agr.userId = user.id

如上所示,在第一次ON的條件限制下就將資料量降到最少,甚至精準,如此往後JOIN就會讓資料量大為減少,最後連WHERE都不需要額外限制其他條件,而SELECT部份也只挑出所需的資料就好, 達到最佳的效率

總結︰資料量越小、條件越明確就能達到最好的查詢效率



(繼續閱讀...)
文章標籤

PG Levin Li 發表在 痞客邦 留言(0) 人氣(1,244)

  • 個人分類:MySQL
▲top
1

廣告

B 組廣告版面

個人資訊

PG Levin Li
暱稱:
PG Levin Li
分類:
職場甘苦
好友:
累積中
地區:

熱門文章

  • (37,225)Oracle SQL DECODE用法教學
  • (14,872)Oracle SQL INSERT INTO TABLE 基本用法
  • (10,464)Oracle SQL MOD 取餘數
  • (8,966)Oracle SQL to_date的用法
  • (6,026)Oracle SQL full outer join 用法教學
  • (5,110)Oracle SQL AVG GROUP BY 用法教學
  • (4,502)Oracle SQL TRUNC無條件捨去
  • (4,002)Oracle SQL minus 用法教學
  • (677)Oracle SQL next_day用法教學
  • (255)Oracle SQL nonequal join 不對等join

文章分類

toggle ZK (1)
  • ZK (2)
toggle SQLite (2)
  • SQLite for Java (11)
  • SQLite (2)
toggle Java (19)
  • Servlet (4)
  • JAVA-綀習分享 (3)
  • JAVA 7 (1)
  • JAVA-流程控制類 (10)
  • JAVA_IDE (2)
  • JAVA_其它_itext套件 (1)
  • JAVA-WEB (1)
  • JAVA-lang套件 (16)
  • java mail (1)
  • JAVA-OCJP (1)
  • JAVA-問題 (2)
  • JAVA_IO (1)
  • JAVA-OCWCD (7)
  • Joda Time (1)
  • JAVA-程式分享 (4)
  • JAVA.util套件 (6)
  • JAVA-基本類 (19)
  • JAVA (4)
  • JAVA其它 (1)
toggle Android (4)
  • Android NDK (3)
  • Android Studio (7)
  • Android基本類 (2)
  • Android (7)
toggle SSH (12)
  • Struts 2 (1)
  • Spring Mobile (3)
  • Hibernate-基本類 (3)
  • Spring MVC (3)
  • grails-其它類 (1)
  • Spring i18n (2)
  • grails-基本類 (13)
  • Spring Batch (2)
  • SpringHibernate (5)
  • Spring-基本類 (4)
  • Spring (3)
  • Spring AOP (2)
toggle Oracle (10)
  • Oracle join (14)
  • sqldeveloper (9)
  • Oracle_VirtualBox (1)
  • Oracle DDL (4)
  • Oracle Date (17)
  • Oracle (5)
  • Oracle Sub Query (17)
  • Oracle GROUP BY (20)
  • Oracle SQL (49)
  • Oracle DB (16)
toggle SQL Server/MSSQL (1)
  • SQL Server (1)
toggle MySQL (8)
  • MySQL (7)
  • MySQL-語法快速查詢 (2)
  • MySQL-基本系列教學 (10)
  • MySQL-其它類 (1)
  • MySQL-進階系列教學 (15)
  • MySQL-DATE相關 (8)
  • MySQL-函式相關 (11)
  • MySQL DB Toad (9)
toggle PostgreSQL (1)
  • PostgreSQL (5)
toggle Tool (11)
  • TortoiseSVN (1)
  • Subversive (1)
  • Dev-C++ (4)
  • Squid (3)
  • UML (1)
  • Eclipse IDE for C/C++ (3)
  • Tool (1)
  • eclipse (13)
  • Jboss (1)
  • JBoss-問題 (2)
  • SWT (1)
toggle C/C++ (5)
  • c語言綀習題 (2)
  • c/c++ (2)
  • c (4)
  • c++ (2)
  • MinGw (6)
toggle Apache (9)
  • Apache_Tomcat (3)
  • Apache_JMeter (1)
  • Apache套件_BeanUtils (1)
  • Apache套件_StringUtils (1)
  • Apache套件_POI (5)
  • maven (3)
  • Apache (2)
  • apache_Maven (2)
  • Tomcat 8 (2)
toggle jQuery (8)
  • jQuery UI (1)
  • jQuery Datepicker (26)
  • jQuery-事件處理 (2)
  • jQuery-套件類 (3)
  • jQuery-基本類 (3)
  • jQuery-進階 (1)
  • jQuery Mobile (2)
  • jQuery-Selector (11)
toggle JavaScript (8)
  • JavaScript-基本類 (20)
  • JavaScript (14)
  • JavaScript-Date物件 (5)
  • JavaScript-其它類 (3)
  • JavaScript-陣列類 (7)
  • JavaScript HTML DOM (37)
  • JavaScript-String類 (8)
  • JavaScript-數學類 (6)
toggle Web/HTML/CSS/JS/JQ (6)
  • css-基本類 (18)
  • CSS (4)
  • CSS2 (2)
  • CSS3 (1)
  • CSS Selector (42)
  • HTML5 (3)
toggle 其它 (6)
  • 生活其它 (3)
  • PHP (11)
  • 其它類 (3)
  • 基本資訊 (3)
  • 開發資訊 (1)
  • 圖片工具 (1)
toggle Win/OS/linux (4)
  • Linux_其它 (1)
  • Linux (14)
  • Windows (3)
  • WIN7-基本類 (14)
toggle 生活點點 (1)
  • 生活新聞 (29)
  • 未分類文章 (1)

最新文章

  • 生機生技引進營養製劑 產品廣獲好評
  • 【芋頭鮮奶盲測】超狂給料像拌水泥 強者迷客夏輸了
  • 口碑行銷、網紅行銷當道 品牌企業合作首選 達摩媒體BloggerAds
  • 想知道最夯時事分析?邀請你加入BloggerAds市場調查!
  • 日本FSK隔熱紙-居家隔熱、防曬、節能好幫手
  • AROFLY開箱實測、從退貨評價到獲取消費者認同!
  • 五個健康理由讓您考慮吃「有機食品」
  • 美食推薦 新北泰山 霸王櫻桃鴨 聚餐聊天好去處
  • 一心好文,農藥最後會流到這裡
  • 360°康健指數打破生活迷思,掌握美好生活的妙招

最新留言

  • [14/04/11] 匿名 於文章「[Android]Android系統調用...」留言:
    多謝分享,對我有幫助。...
  • [14/02/24] Levin Li 於文章「[JAVA]String-取出字串某個位...」留言:
    使用 subSequence(起始位置,結束位置); Str...
  • [14/02/22] JHANG allen 於文章「[JAVA]String-取出字串某個位...」留言:
    如果我有一串數字1234567890abcdefghihk ...
  • [13/08/19] 洪甫 於文章「[JAVA]OCJP(SCJP)免費的考...」留言:
    太感謝了 我終於看到中文版了!!...
  • [13/06/23] Levin Li 於文章「[Apache_Tomcat] Tomc...」留言:
    (^^) 我不懂你說的「不會過」,是何事 不會過????...
  • [13/06/22] 丁丁 於文章「[Apache_Tomcat] Tomc...」留言:
    第6點有問題,在我的電腦上, rolename和roles填...
  • [13/05/17] 歐兆傑 於文章「強大的JQuery圖表套件...」留言:
    當時我所用的是IE9,是可呈現的,請問你版本是?...
  • [13/05/16] 王暉鈞 於文章「強大的JQuery圖表套件...」留言:
    請問大大,如何能讓此在IE上呈現?...

動態訂閱

文章精選

文章搜尋

參觀人氣

  • 本日人氣:
  • 累積人氣:

C 組廣告版面

留言板