亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

SQL簡介

1. 前言

大家好,從本小節開始,我們將一起學習SQL wiki系列。談到 SQL,每個人心里會有不同的理解,但大家可能都會不約而同地想到一個詞——數據庫。SQL 發展到今天,它的足跡其實早已遍布各個應用領域了。

學好 SQL,你可以做到很多,數據管理、數據分析甚至機器學習,你都可以用 SQL 來完成。學習是一個頗為技巧的活,它也遵守二八定律,學好20%的知識你就可以做好80%的事情,這也是wiki想要帶給大家的。

我們希望整理出 SQL “百分之二十”的知識,幫你辦到“百分之八十”的事情,當然這里的知識遠非百分之二十。

作為 SQL 系列的第一小節,我們將為你簡單的介紹什么是 SQL,SQL 能做什么以及學習 SQL 的注意事項。

慕課贈言:空無以求全,倒空的杯子才能裝滿更多的水。

2. 什么是 SQL

SQL,全稱 Structured Query Language,是一種結構化查詢語言。

SQL,是一種數據庫訪問語言。

SQL,是一種 半衰期很長的語言,自 1970 年代誕生到現在,經久不衰,日久彌新。

3. SQL 能做什么

  • SQL 可用于在數據庫中增加,刪除,修改,查詢數據;
  • SQL 可用于新建數據庫,新建數據表;
  • SQL 可用于新建視圖,函數;
  • SQL 可用于簡單的數據清洗;
  • SQL 可用于簡單的數據分析;
  • SQL 可搭配 Hive,Spark SQL 做大數據;
  • SQL 可搭配 SQLFlow 做機器學習;
  • SQL 可搭配一定的工具做數據報表。

4. RDBMS有哪些

RDBMS,全稱relational database management system(關系數據庫管理系統),是一種數據庫軟件,但我們經常狹義地稱呼它為數據庫。RDBMS將數據及數據關系以數據庫和數據表的形式存儲,并提供 SQL 訪問接口。

目前主流 RDBMS 有 MySQL、PostgreSQL、SQL Server 和 Oracle;其中MySQLPostgreSQL是免費開源且使用廣泛的數據庫,也是我們學習的重點。

不同的數據庫廠商對于 SQL 的支持差異頗大,一份精簡的 wiki 實在無法囊括那么多,因此本 wiki 以MySQLPostgreSQL為主,且默認使用MySQL。當然你大可不必擔心,本 wiki 介紹的 SQL 知識幾乎可以無縫地跑在不同的數據庫,對于差異我們會著重說明。

5. 其它系統

SQL 的使用十分廣泛,不僅可以在 RDBMS 中使用,還可以在其它系統中使用。

  • Hive 和 Pig 提供 SQL 的方式進行大數據操作,Spark SQL 也是同等作用的產品;
  • InfluxDB 是目前使用最為廣泛的時序數據庫,也提供 SQL 訪問接口;
  • TiDB 是目前使用也非常廣泛的分布式數據庫,仍以 SQL 訪問,并 100%兼容 MySQL;
  • SQLFLow 是螞蟻金服開源的一款用 SQL 進行機器學習的產品;
  • Neo4j 是圖數據庫中的佼佼者,其查詢語言也是一種類似 SQL 的語言;
  • SPARQL 是 w3c 專門為 RDF 定制的查詢語言,被廣泛的應用在知識圖譜領域,其語法幾乎與 SQL 無異。

6. 重要說明

  • SQL 語句中的變量使用[]作為變量占位符,如在[table_name]中,table_name 表示數據表名稱。
  • SQL 語句若無特殊說明,均默認在MySQL中執行。
  • SQL 中的關鍵字不區分大小寫,如CREATEcreate均可用,但我們推薦關鍵字大寫。
  • SQL 關鍵字雖不區分大小寫,但為以示區分,教程中統一大寫
  • SQL 標準每年都在更新,不同廠商的支持又不盡相同,本教程以MySQLPostgreSQL為主。
  • SQL 語句在書寫時有諸多保留詞,如index,一般情況下都需要通過轉義符轉義。
  • MySQL中的轉義符是 `` ,PostgreSQL中的轉義符是 “”。
  • 本教程聚焦在 SQL 的介紹和使用上,因此不會涉及到數據庫安裝與配置相關的知識。