一、前言
上一篇文章有稍微帶到簡單的SQL基本CRUD操作方式,但實際玩起來我覺得就和GIT一樣,是有趣而且多變的,熟悉語法就能在需要時妥善運用!
二、如何累積SQL能力與觀念?
如果你是一個職場新手或者第一次接觸資料庫、碰SQL,那我推薦以下資源可以快速入門,網路資源真的超多,這邊分享的是我個人覺得實用與易懂的,表單裡的資源有連結可以直接點選。就不在此系列技術文中,冗長一一陳述語法了。
項次 | 資源重點 | 備註內容 |
---|---|---|
1 | SQL語法教學 | 各種指令大部分都可以在這裡學習。 |
2 | 初學者必須知道的懶人包 | 主要是給初學者方向與概念,搭配圖文淺顯易懂! |
3 | 零基礎快速自學SQL,1天足矣 | 2021年9月才更新,算是觀念累積很實用! |
4 | 【資料庫】SQL 3小時初學者教學(含MySQL教學) | 2021年8月的影片教學,吃飯時可以配著看當複習也很好! |
5 | SQLZOO互動式教學 | 可以小試身手測試SQL語法的網站,有支援繁體中文,平常可以抽空實際練習。 |
三、(接案公司裡)常用的語法與實例
這邊列出遇過的一些狀況劇與解決方法,讓大家稍微看一下其實操作那些數據一點也不難,都是很有趣的唷!如果在實際運用上,有遇到下列情形,也可以試試看是否有幫助~
1. 建立新的資料表時可能遇到的情況
可能的狀況:
Id需要隨數量增加而遞增解決方法:
新增資料表時,在下方屬性的識別規格做設定。
2. 重新整理Id排序值
- 可能的狀況
I’ve deleted some records from a table in a SQL Server database.
The IDs in the table look like this:99 100 101 1200 1201…
- 解決方法:
1
DBCC CHECKIDENT (mytable, RESEED, 0)
3. 查詢並去除重複值
可能的狀況
假設我們想從下面的 customers 資料表中查詢顧客分佈在哪幾個縣市:解決方法:
原本資料表的 City 欄位中有兩個重複值台北市,可是我們只想知道有哪幾個縣市有顧客而已,故我們使用 DISTINCT 關鍵字來限制僅取出欄位中 “不相同” 的值。1
SELECT DISTINCT City FROM customers;
解決結果會撈出:
台北市
新竹縣
高雄縣
4. 清空某張資料表的所有資料值,但原架構保留
- 解決方法:
1
TRUNCATE TABLE "表格名";
四、結論與自我鼓勵
不知道大家學習SQL的感受是什麼,我個人覺得很吃邏輯力!主要真的是至少要會去查關聯與運用語法,就可以完成大部分工作上的需求。下一篇則預計會介紹一點點MSSQL的介面,或其它技術主題~