為什么SQL知識對數據科學家至關重要?
譯文?譯者 | 李睿
審校 | 孫淑娟
SQL可以追溯到上世紀70年代由Edgar Codd博士、Donald Chamberlin、Raymond Boyce和其他IBM研究人員構建的早期關系數據庫。關系數據庫中一個表中的數據可以鏈接到數據庫數千個甚至數百萬個條目中的任何一個表中的數據。因此,SQL使得搜索和檢索與業務相關的問題的數據并在報告中呈現結果比以往更容易、更快捷。
SQL到底是什么?
SQL是一種用于關系數據庫的查詢語言(傳統數據庫以表格形式存儲數據庫)。它使用關系模型的能力來提供數據屬性或屬性,如貨幣單位、數字、日期或指定值。這是一個典型的SQL格式,它包含表、列、字段和行:
- 與電子表格類似,數據庫表由行和列組成。
- 每列顯示該記錄中的一個字段,每行表示一條記錄。
- 為保證每個字段中的數據符合數據庫的標準,可以為表和表中的每一列提供屬性。
以下通過一些統計數據來說明SQL的流行程度以及財富500強公司為何對其如此依賴。
- 近58.2%的數據科學家工作需要SQL技能(Indeed.com)。
- 數據科學家更喜歡SQL而不是R和Python,其中65%以上的人使用SQL(StackOverFlow 2020年調查)。
- Microsoft、NTT Data、Accenture、Dell和Cognizant是使用SQL分析數據的頂級公司之一 。
- MySQL被評為2022年第二大最受歡迎的數據庫管理系統(Statista) 。
為什么SQL知識對數據科學家至關重要?
數據科學家列出了SQL的一些主要好處。這種語言:
- 易于理解和使用,取決術語和簡單的結構。
- 與Python、R和其他編程語言兼容,使數據科學家能夠交換和展示他們的發現,為數據科學家提供工具來檢查他們的數據集,從而幫助他們更好地理解它們。
- 容納數據分析師和科學家必須處理的大量數據。例如,關系數據庫遠比電子表格強大。
- 對于大多數招聘數據科學家和數據科學專業人士的招聘人員來說,對這門語言的熟練程度要高于其他編程語言。
最常見的SQL命令有哪些?
為了開發和修改數據庫表、定義用戶權限和進行其他活動,SQL命令用于與數據庫交互。有五種基本的SQL命令:
1.數據定義語言(DDL)
數據定義語言(DDL)指令用于通過創建、刪除或更改表包含的數據來更改表的結構。命令會自動保存在數據庫中或“自動提交”。
(1)創建(CREATE)
該命令通過提供表名、列名、大小和屬性來創建新表。
(2)更改(ALTER)
該命令主要用于向數據庫模式添加新功能或更改現有功能。從表中刪除當前列、更改列或減小列的大小都是可能使用的示例。
(3)刪除表(DROP)
該命令用于刪除表,包括其所有數據。
(4)重命名(RENAME )
該命令為現有表提供新名稱。
理想的數據定義語言(DDL)應該:
- 為每個記錄類型、數據項類型、數據庫、文件類型和其他數據細分賦予唯一的名稱。
- 區分幾種數據劃分,如數據項、段、記錄和數據庫文件。
- 說明不同的記錄類別如何與不同的品牌結構相關聯。
- 能夠指定數據元素的長度。
2.數據操作語言(DML)
使用數據操作語言(DML)指令修改數據庫。由于數據操作語言(DML)命令不像數據定義語言(DDL)那樣自動提交,因此可以撤消這些操作。
(1)插入(INSERT)
通過給出表名和與新信息相關的值,例如年齡、地址和姓名,該命令用于將數據插入到表行中。同樣,它可用于使用來自其他來源的數據填充表。
(2)刪除(DELETE)
該命令從表中刪除一行或多行。例如,簡單地指定表名會刪除它的所有行;但是,添加條件(例如WHERE Name="MIKE")只會消除符合要求的行。
(3)更新(UPDATE)
該命令更改表字段的值,并將其應用于所有行或僅滿足條件的行,例如包含特定州代碼或郵政編碼的行。
數據操作語言(DML)只是暗示:
- 檢索、插入、刪除和修改數據庫中存儲的信息。
3.事務控制語言(TCL)
為了管理數據庫,事務控制語言(TCL)命令與數據操作語言(DML) 命令一起使用。但是,事務控制語言(TCL)命令不能用于創建或刪除表,因為它們是在數據庫中自動提交的。
(1)提交(COMMIT)
該命令保存所有數據庫事務,終止當前事務,并將事務期間執行的所有更改標記為不可逆。它還釋放表持有的所有事務鎖。
(2)回滾(ROLLBACK)
該命令通過終止事務并清除在事務期間所做的所有修改,會擦除所有尚未保存到數據庫的事務。它還釋放在表上獲得的任何事務鎖。
(3)保存點(SAVEPOINT)
使用該命令將數據庫回滾到先前構建的保存點。以這種方式只能保留交易的某些方面。從上一個提交或回滾命令開始,必須給出保存點。
4.數據控制語言(DCL)
數據控制語言(DCL)命令控制誰可以訪問數據庫中的數據。這些說明根據用戶訪問權限允許或拒絕某些用戶的訪問。
(1)授予(GRANT)
該命令授予用戶訪問權限,并指定允許用戶執行的任務,例如選擇和更改表以及授予其他用戶訪問權限的能力。
(2)撤銷(REVOKE)
此命令刪除用戶的訪問權限。任何有能力向其他人提供訪問權限的人都可以使用它,即使授予者不是表的創建者。
5.數據查詢語言(DQL)
數據查詢語言(DQL)命令從數據庫中獲取數據,這符合選擇(SELECT)命令語法的要求。
(1)選擇(SELECT)
這是唯一可用的DQL命令,適用于所有檢索活動。通過定義表名,語法指示在哪里查找給定數據。WHERE語句指定目標數據必須具有哪些品質或特征才能獲得,例如“WHERE age >65”。
有哪些不同的SQL數據類型?
在生成查詢時,選擇合適的SQL數據類型是創建結構良好的查詢的第一步。可以放入表列中的值的類型由數據類型定義,其中一些是:
(1)SQL日期和時間數據類型
- DATE:以YYYY-MM-DD格式緩存的日期。
- TIME:以HH:MI:SS形式緩存的時間。
(2)SQL二進制數據類型
- BINARY:固定長度,最多8,000個字符。
- VARBINARY:可變長度,最多8,000個字符。
(3)字符和字符串的SQL
- CHAR:固定長度最多為8,000個字符的字符。
- VARCHAR:最多為8,000個可變長度字符。
- VARCHAR(max):可變長度存儲使用“max”選項創建一個最大為231-1字節的列約束大小,或以1到8000的值定義字符串大小(以字節為單位)。(2GB)
精通SQL的數據科學專業人員
具有SQL技能的數據科學家和軟件開發人員有更多的工作選擇。SQL知識在各種專業角色中都很有用,例如:
- SQL數據庫開發人員
- SQL數據庫管理員
- SQL數據分析師
- 云數據庫專家
- 商業智能管理員
結語
數據的使用只會增長。因此從長遠來看,學習SQL將對企業大有幫助。學習SQL是數據科學家和數據庫專業人員為他們的職業做準備的最佳方式。數據庫系統不僅是尋找數據專家的企業中最需要的人才之一,而且還是學習其他有用IT技能的基石。SQL知識是數據研究和軟件開發中許多有利可圖的職位的基石。
原文標題:??Why Is SQL Knowledge Vital for Data Scientists? A Sneak Peek???,作者:Anamika Singh?