RSS   



  可打印版本 | 推薦給朋友 | 訂閱主題 | 收藏主題 | 純文字版  


 


 
主題: [DB] [分享] SQL語法教學   字型大小:||| 
  本主題被作者加入到他/她的 Blog 中  
lch2003
論壇第一濕濕小可愛
等級: 17等級: 17等級: 17等級: 17等級: 17
小壞蛋

 . 積分: 2254
 . 精華: 1
 . 文章: 5728
 . 收花: 18500 支
 . 送花: 20908 支
 . 比例: 1.13
 . 在線: 5133 小時
 . 瀏覽: 145298 頁
 . 註冊: 6773
 . 失蹤: 928
#1 : 2006-7-28 06:16 PM     只看本作者 引言回覆

自從上次被 熊小 叫我再學習 SQL,
結果我找到「SQL語法入門
大家參考一下
( 基本上這個不算是「入門」, 而是「進階」 )



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
laikyo
銅驢友〔高級〕
等級: 10等級: 10等級: 10


今日心情

 . 積分: 189
 . 精華: 2
 . 文章: 681
 . 收花: 1186 支
 . 送花: 697 支
 . 比例: 0.59
 . 在線: 626 小時
 . 瀏覽: 2811 頁
 . 註冊: 7449
 . 失蹤: 1228
#2 : 2006-7-29 03:21 AM     只看本作者 引言回覆

MySQL中文參考手冊
http://linux.tnc.edu.tw/techdoc/mysql/mysql_doc/manual_toc.html
初學就熟用四大語法
SELECT
INSERT INTO
UPDATE
DELETE FROM



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
jocosn
白銀驢友
等級: 15等級: 15等級: 15等級: 15等級: 15


今日心情

 . 積分: 1386
 . 精華: 2
 . 文章: 2945
 . 收花: 9537 支
 . 送花: 3671 支
 . 比例: 0.38
 . 在線: 1295 小時
 . 瀏覽: 19041 頁
 . 註冊: 7452
 . 失蹤: 1454
#3 : 2006-7-31 01:22 AM     只看本作者 引言回覆

若是要用 MySQL,用這種 GUI 介面,脫拉就完成 SQL 語法雛型:
http://www.mysql.com/products/to ... /build_queries.html
還有語法可直接查詢。

query browser 顯示中文若出現亂碼,可到 mysql administrator 裡設定
Startup Variables>>Advanced>>Def. Chr Set

5.1 中文版手冊
http://twpug.net/docs/mysql-5.1/

SQL 每家都有差異,建議選一家資料庫後再去學它的 SQL。不然可能很容易陣亡。

[jocosn 在  2006-7-31 07:11 AM 作了最後編輯]



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
steven211
開墾隊隊員
等級: 4


今日心情

 . 積分: 32
 . 文章: 64
 . 收花: 167 支
 . 送花: 131 支
 . 比例: 0.78
 . 在線: 338 小時
 . 瀏覽: 5290 頁
 . 註冊: 7126
 . 失蹤: 2930
#4 : 2006-7-31 09:08 PM     只看本作者 引言回覆


引用:
lch2003寫到:
自從上次被 熊小 叫我再學習 SQL,
結果我找到「SQL語法入門
大家參考一下
( 基本上這個不算是「入門」, 而是「進階」 )

真的是蠻進階的連union都出來了
關聯式資料庫我覺得重要的還是觀念問題,
語法方面不要跑預存程序的話大部份都一樣,
我的經驗是這樣,
1.盡量減少連線次數 :
    比如時常為了跑複雜的表格運算等等的會跑一個大迴圈,假設一千筆資料,在這
    個大迴圈內又每圈再跟資料庫查詢一次資料,這個會極大伏度的降低效率。
2.與資料庫連線時只抓取所需要的資料即可,
   例如Select * From xxxTable這樣把所有欄位都一次select出來自然會比較慢,
   這其實牽涉到硬碟原理,
 假設我的硬碟是sata 傳輸速率為80mbps好了,但是因
   為多抓取一個欄位,每個欄位大概有1kbytes的資料,一次又抓取了10000筆資料
 ,實際上佔用的硬碟空間可能是10000*1kbytes=10000kbytes=10mbytes = sata硬碟傳輸速度(80mbps/8=10mbytes),多抓取一個欄位的資料就會多出1s的時間,當然實際上會根據各家的檔案系統及資料庫效率會有所差異,
3.cpu的速度>RAM>>HDD:
 就是因為這樣才會有許多快取機制,硬碟sata理想通道寬度是150mbps sata2是300mbps,現在隨便一台電腦的記憶體寫入速度都有3g以上,更何況硬碟又有硬碟磁頭所造成的效能瓶頸,除非砸大本錢去買光纖通道的storage(最高可達4gmbps),不然其實程式方面多下點功夫還是值得的。
我遇到很多軟體工程師基本上是不想碰硬體這一塊的,但是我覺得多了解一些硬體原理絕對會增加程式的執行效率(雖然我功力還是很弱)。



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
ithinkurdumb
開墾隊隊員
等級: 11等級: 11等級: 11等級: 11
(見下圖)

 . 積分: 326
 . 文章: 574
 . 收花: 2842 支
 . 送花: 381 支
 . 比例: 0.13
 . 在線: 495 小時
 . 瀏覽: 4740 頁
 . 註冊: 7242
 . 失蹤: 712
 . Taipei
#5 : 2007-3-4 01:11 AM     只看本作者 引言回覆

補充一下 (都是針對MS SQL的情況):

1.
其實跟database拉資料的時候,
如果在進for loop之前就把connection建立好,
結束for loop之後才把connection結束,
在for loop裡面讀取100次跟1000次在速度上的差別是不大的.

2.
不要因為懶就用SELECT * FROM是狠重要的,
常常在maintain程式的時候發現明明只要1, 2個column的資料,
卻一次抓了所有column的資料回來.
讀取的時間影響倒是還好 (因為db server的memory通常相當大),
重要的是浪費了好幾倍的memory.

另外,
如果要做簡單的排序這些動作,
最好能夠直接在SQL query中處理.
第一個是省下記憶體,
第二個是效率也會比較好.

有機會再補充囉.



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
aleck
鐵驢友〔初級〕
等級: 4


 . 積分: 43
 . 文章: 70
 . 收花: 171 支
 . 送花: 5030 支
 . 比例: 29.42
 . 在線: 885 小時
 . 瀏覽: 23730 頁
 . 註冊: 7219
 . 失蹤: 935
#6 : 2007-3-4 11:34 PM     只看本作者 引言回覆


引用:
lch2003寫到:
自從上次被 熊小 叫我再學習 SQL,
結果我找到「SQL語法入門
大家參考一下
( 基本上這個不算是「入門」, 而是「進階」 )

還真不賴, 整理的真好!
入門及進階都含括了.
剩下優化的部份就靠各位多多提供了!
感恩! 感恩!



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
PresarioNeil
初出茅驢
等級: 1
阿圓

 . 積分: 1
 . 文章: 42
 . 收花: 0 支
 . 送花: 188 支
 . 比例: 0
 . 在線: 55 小時
 . 瀏覽: 280 頁
 . 註冊: 6858
 . 失蹤: 5907
#7 : 2007-6-1 01:12 PM     只看本作者 引言回覆

http://www.1keydata.com/tw/sql/sql.html 這網站真的很棒!!
感謝樓主分享!



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
chrixtal
銅驢友〔高級〕
等級: 10等級: 10等級: 10


十週年紀念徽章(六級)  

今日心情

 . 積分: 181
 . 文章: 903
 . 收花: 1331 支
 . 送花: 3037 支
 . 比例: 2.28
 . 在線: 249 小時
 . 瀏覽: 4493 頁
 . 註冊: 8164
 . 失蹤: 1
#8 : 2008-2-19 02:53 PM     只看本作者 引言回覆

一般來說,趕案子的時候,根本顧不了效能的部份,應該是說
資料正確 > 畫面功能,美觀 > 讀取速度 的重要性

所以通常都是案子快結束還有剩下時間的話(通常不可能)或是日後維護的時候再來做 最佳化

不過這也就是 高工 和一般工程師的差別 ^_^



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記

   

快速回覆
表情符號

更多 Smilies

字型大小 : |||      [完成後可按 Ctrl+Enter 發佈]        

溫馨提示:本區開放遊客瀏覽。
選項:
關閉 URL 識別    關閉 表情符號    關閉 Discuz! 代碼    使用個人簽名    接收新回覆信件通知
發表時自動複製內容   [立即複製] (IE only)


 



所在時區為 GMT+8, 現在時間是 2024-11-21 09:16 PM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 0.019063 second(s), 6 queries , Qzip disabled