第四周 基於Mysql的SQL數據分析1-2章
來自專欄數據分析之旅
第四周 基於Mysql的SQL數據分析1-2章
本教程主要借鑒劉增傑老師《Mysql從入門到精通一書》,全文框架如下
第一章 SQL與資料庫介紹
第二章 資料庫工具
第三章 資料庫的基本操作
第四章 數據表的基本操作
第五章 數據類型和運算符
第六章 Mysql函數
第七章 查詢語句
第八章 插入、更新與刪除數據
第九章 SQL數據分析實戰案例
SQL與資料庫介紹
本章主要解答4個問題
1、分析師為什麼要學資料庫
2、什麼是資料庫
3、什麼是SQL
4、MYSQL如何安裝
1.1分析師為什麼要學資料庫
資料庫知識是大數據從業的必備技能,各公司數據分析師招聘條件裡面往往都有一條要求:熟悉使用SQL語言,能夠進行資料庫查詢和計算處理;因為各公司的數據基本都存儲在資料庫中,數據分析的一半流程都是在資料庫中完成的。
1.2 什麼是資料庫
那麼什麼是資料庫(DB)?什麼是資料庫管理系統呢(DBMS)?
- 資料庫
講到資料庫,要理解3個概念,表、數據類型和主鍵。
- 表
在關係資料庫中,資料庫表是一系列二維數組的結合,用來存儲數據和操作數據的邏輯結構,例如:
- 數據類型
- 主鍵
主鍵又稱主碼,用於唯一地標識表中的每一條記錄,可以定義表中的一列或多列為主鍵,主鍵列上不能有兩行相同的值,更不能為空值。如上圖中的編號一般作為主鍵。
- 資料庫系統
1.3 什麼是SQL
1、SQL語言支持哪些資料庫?
2、什麼是SQL語言?
- SQL的語言怎麼構成?
SQL的語法規範要注意以下幾點:
關鍵字要大寫、注意換行和鎖進、嵌套子查詢注意分層編排、表別名要統一、運算符前後要間隔、單行注釋用--,多行注釋用/* */,結章節附註意用分號;
4、什麼是資料庫訪問介面?
不同程序設計語言會有各自不同的資料庫訪問介面,程序語言通過這些介面,執行SQL語句,進行資料庫管理,主要的資料庫訪問介面有:
1)ODBC(開放資料庫互連)
ODBC使用SQL作為訪問數據的標準,這一介面提供了最大限度的互操作性,一個應用程序可以通過共同的一組代碼訪問不同的SQL資料庫管理系統(DBMS)。
一個基於ODBC的應用程序對資料庫的操作不依賴任何DBMS,不直接與DBMS打交道,所有的資料庫操作由對應的DBMS的ODBC驅動程序完成,也就是說,不論是Access,MYSQL還是Oracle資料庫,均可以ODBC API進行訪問,由此可見,ODBC的最大的優點是能以統一的方式處理所有的資料庫。
JDBC(java資料庫連接)
JDBC用於java應用程序連接資料庫的標準方法,是一種用於執行SQL語句的java API,可以為多種關係資料庫提供統一的訪問,它由一組用java語言編寫的類和介面組成。
http://ADO.NET
http://ADO.NET是微軟在.NET框架下開發設計的一組用於和資料庫進行交互的面向對象類庫,http://ADO.NET提供了對關係數據,xml和應用程序數據的訪問,允許和不同類型的數據源以及資料庫進行交換。
PDO
PDO為PHP訪問資料庫定義了一個輕量級的,一致性的介面,它提供了一個資料庫訪問抽象層,這樣,無論使用什麼資料庫,都可以通過一致的函數執行查詢和獲取數據,PDO是PHP5新加入的一個重大功能。
1.4 什麼是MYSQL
SQL是基於資料庫操作的,這裡主要講解基於MYSQL的SQL操作。MYSQL屬於關係型資料庫,MySQL資料庫以體積小、速度快、總體擁有成本低等優點,深受廣大中小企業的喜愛。
安裝步驟如下:
https://jingyan.baidu.com/article/020278115de5b31bcc9ce5c3.html
該鏈接給出了MAC電腦安裝詳細流程,可以點擊查看。
https://jingyan.baidu.com/article/f3ad7d0ffc061a09c3345bf0.html
該鏈接給出了Windows電腦安裝詳細流程,可以點擊查看。
第二章 資料庫工具
在安裝好資料庫之後,就要考慮怎麼使用資料庫工具來更好的管理資料庫了,本章主要介紹以下幾點
- 為什麼要使用資料庫工具
- 有哪些常用的Mysql資料庫工具
2.1為什麼要使用資料庫工具
因為終端命令界面相對沒有那麼友好,例如,我們安裝好資料庫之後,
- 在windows電腦裡面進入資料庫的終端命令如下
- 在Mac電腦進入資料庫的終端命令如下:
想要學習終端命令操作的,可以點擊下面鏈接了解:
Windows電腦常用命令:
https://baike.baidu.com/item/DOS%E5%91%BD%E4%BB%A4/5143255?fr=aladdin
Mac電腦常用命令:
https://blog.csdn.net/nicewuranran/article/details/53453976
Mysql常用命令:
https://www.cnblogs.com/bluealine/p/7832219.html
2.2有哪些常用的資料庫工具
下面給大家推薦六個常用的MySQL管理工具!
1. Workbench
MySQL Workbench是一款圖形化的資料庫設計工具,它在一個開發環境中集成了SQL的開發,管理,資料庫設計,創建以及維護。它是 http://fabFORCE.net旗下DBDesigner 4的繼承者,並替代了MySQL GUI Tools Bundle。當前版本是5.2,最早版本是5.0,這是為了強調MySQL Workbench是作為DBDesigner4的繼承者被開發出來的事實。
2. Navicat
用於MySQL的Navicat既是一個資料庫管理器同時還是一個開發工具。它適用於從3.21以上的任何MySQL資料庫伺服器,並且支持包括觸發器,存儲過程,函數,事件,預覽和用戶管理在內的絕大多數最新的MySQL功能。
Navicat的功能非常複雜,足以滿足專業開發人員的各種特殊需求,同時對於MySQL新手來說也非常簡單易學。
3. Sequel Pro
Sequel Pro是一款免費的開源程序。它是CocoaMySQL Mac資料庫管理程序的繼承者。CocoaMySQL是Lorenz Textor的新構想,他是CocoaMySQL的早期的(2003年)主要開發人員。
Sequel Pro用於管理MySQL資料庫(本地或在Internet上)。您可以使用它來添加刪除資料庫和表,修改欄位和索引,預覽和過濾表的內容,添加編輯刪除行,執行自定義查詢,轉儲表或整個資料庫。
它兼容MySQL 3.x,4,5。
4. HeidiSQL
之前被稱為MySQL-Front的HeidiSQL是一款免費的開源客戶端,由德國程序員Ansgar Becker開發,同時還得到了一些Delphi貢獻者的幫助。用戶必須通過許可證書創建一個會話登陸本地或遠程MySQL伺服器,才可以使用 HeidiSQL管理資料庫。通過這個會話,用戶可以管理所鏈接的MySQL伺服器的MySQL資料庫,並在完成之後斷開。它的功能集足夠應付絕大多數常 見和高級資料庫,表,數據記錄選項,但是目前還處於積極的開發中,以求能實現MySQL前端的所有功能。
另外還有一款由Java編寫的jHeidi,它被設計用於Mac和Linux計算機。遺憾的是,該項目已於2010年3月終止了。
5. phpMyAdmin
PhpMyAdmin是一款免費的軟體工具,採用PHP編寫,用於在線處理MySQL管理。PhpMyAdmin支持多種MySQL操作,最常用的操作包括管理資料庫,表,欄位,關係,索引,用戶,許可權。同時還允許您直接執行SQL語句。
Tobias Ratschiller曾經是IT顧問,後來創建了Maguma軟體公司。由於受到Peter Kuppelwieser開發的MySQL-Webadmin的影響,於1998年開始了基於PHP的MySQL的web前端開發。因時間不足,他與 2000年放棄了該項目(以及同樣有他開發的phpAdsNew)。就在那時,phpMyAdmin已成為最受歡迎的PHP程序和MySQL管理工具之 一,它擁有廣泛的社區用戶和貢獻者。為了協調越來越多的補丁,Olivier Müller,Marc Delisle以及Lo?c Chapeaux三位開發人員在註冊 http://SourceForge.net註冊了phpMyAdmin項目,並於2001年接手開發工作。
6、DBeaver
DBeaver是一個通用的MySQL資料庫管理工具,支持MySQL、PostgreSQL、Oracle、DB2、MSSQL、Sybase、Mimer、HSQLDB、Derby以及其他兼容JDBC的資料庫。它是基於Java進行開發的。DBeaver提供一個圖形界面用來查看資料庫結構、執行SQL查詢和腳本,瀏覽和導出數據,處理BLOB/CLOB 數據,修改資料庫結構等等。Workbench、Navicat、Sequel Pro、DBeaver我都適用過,其實使用哪個工具不是特別重要,重要的是對SQL語言的深入理解,熟練運用,你會發現工具只是把這些操作圖形界面化罷了。
所以我基本還是用終端命令的形式來講解SQL和Mysql的知識,最後會在實戰案例中用到這些圖形界面管理工具。
推薦Windows電腦下載DBeaver,Mac電腦下載Sequel Pro。
推薦閱讀:
※常見的SQL筆試題和面試題(上):經典50題
※AACR發布大型公共癌症基因資料庫
※各大類主要資料庫介紹
※資料庫對象有哪些?主要的資料庫對象你都知道嗎?
※Gartner: 2017全球資料庫安全市場趨勢