從零開始學習數(shù)據(jù)分析之MySQL入門
最近,我的一位證券行業(yè)的鐵哥們想要學習SQL,來取代Excel做數(shù)據(jù)處理。因此,我決定開設一個系列,從基礎知識開始,介紹數(shù)據(jù)分析的相關內容。這個系列不僅涵蓋MySQL的SQL語句,還將涉及使用pymysql操作、Pandas用法、PySparkSQL、PySpark算子的使用以及商業(yè)智能(BI)報表平臺等方面的內容。
1.mysql下載安裝和使用
首先,您需要下載MySQL和Navicat。MySQL是一個廣受歡迎的關系數(shù)據(jù)庫管理系統(tǒng),其開源免費的特點使其成為眾多開發(fā)者的首選。Navicat則是一款便捷的數(shù)據(jù)庫管理工具,其非常的易用,基本是開發(fā)人員的首選,除非公司因為授權問題而禁止員工使用。
Mysql推薦使用Mysql8,相比于MySQL 5.7其有以下優(yōu)勢:
- 支持更高的并發(fā)度
- 支持更大的表和數(shù)據(jù)量
- 支持更強大的功能,如JSON、GIS等
- 支持窗口函數(shù)的語法
下載地址MySQL :: Download MySQL Community Server
如果是windows系統(tǒng)的話,下載MSI Installer,按要求選擇下一步即可,注意要記住用戶配置中自己填寫的賬戶和密碼,后面登錄mysql時要用到。
安裝完成后,打開cmd命令窗口,輸入mysql 查看是否安裝成功,如果顯示沒有這個命令的話說明并沒有成功安裝。
安裝成功后,可以使用nacicat軟件登錄到mysql數(shù)據(jù)庫。
下載地址 Navicat | 下載 Navicat Premium 14 天免費 Windows、macOS 和 Linux 的試用版
安裝時選擇試用, 如果到期后可以刪除注冊表重新試用。
在navicat中連接mysql數(shù)據(jù)庫
用戶名和密碼填寫自己安裝時填寫的數(shù)據(jù)庫。連接成功后,就可以在navicat中編寫sql語句了。
2.常用的sql語句
首先是建表語句,首先navicat可以支持手動建表,也可以導入csv、excel建表,這部分功能使用非常方便,不過也通過選擇sql語句來建表建表語句的語法如下:
例如,以下建表語句創(chuàng)建了一個名為stock的表,該表包含以下字段:
- code:股票代碼,數(shù)據(jù)類型為VARCHAR(10)
- name:股票名稱,數(shù)據(jù)類型為VARCHAR(20)
- price:當前價格,數(shù)據(jù)類型為DECIMAL(10,2)
CREATE TABLE stock (
code VARCHAR(10),
name VARCHAR(20),
price DECIMAL(10,2)
)
在創(chuàng)建表時,需要為每個字段指定數(shù)據(jù)類型。數(shù)據(jù)類型的選擇應根據(jù)字段中的數(shù)據(jù)類型來決定。例如,如果字段中存儲的是股票代碼,則可以使用CHAR(10)或VARCHAR(10)類型;如果字段中存儲的是當前價格,則可以使用DECIMAL(10,2)類型。
當然還有更多的數(shù)據(jù)類型,如下所示:
- 數(shù)值類型
TINYINT:存儲1個字節(jié)的整數(shù),范圍為-128~127
SMALLINT:存儲2個字節(jié)的整數(shù),范圍為-32768~32767
MEDIUMINT:存儲3個字節(jié)的整數(shù),范圍為-8388608~8388607
INT:存儲4個字節(jié)的整數(shù),范圍為-2147483648~2147483647
BIGINT:存儲8個字節(jié)的整數(shù),范圍為-9223372036854775808~9223372036854775807
DECIMAL:存儲小數(shù),可以指定精度和小數(shù)位數(shù)。例如,DECIMAL(10,2)可以存儲10位整數(shù)和2位小數(shù)
FLOAT:存儲單精度浮點數(shù)
DOUBLE:存儲雙精度浮點數(shù)
- 字符類型
CHAR:存儲固定長度的字符串。例如,CHAR(10)可以存儲10個字符的字符串
VARCHAR:存儲可變長度的字符串。例如,VARCHAR(20)可以存儲最多20個字符的字符串
TEXT:存儲長文本。例如,TEXT可以存儲任意長度的文本
- 日期時間類型
TIME:存儲時間,格式為HH:MM:SS
DATETIME:存儲日期和時間,格式為YYYY-MM-DD HH:MM:SS
TIMESTAMP:存儲日期和時間,格式為YYYY-MM-DD HH:MM:SS.nnnnnn
查詢語句
查詢語句是SQL中最常用的語句之一,用于從數(shù)據(jù)庫中檢索數(shù)據(jù)。查詢語句的語法如下:
SQL
SELECT 字段名1, 字段名2, ...
FROM 表名
WHERE 條件
例如,以下查詢語句將從stock表中檢索股票代碼、股票名稱和當前價格:
SELECT code, name, price
FROM stock
查詢語句類似于excel的篩選操作。
更新語句
更新語句用于更新數(shù)據(jù)庫中的數(shù)據(jù)。更新語句的語法如下:
UPDATE 表名
SET 字段名 = 新值
WHERE 條件
例如,以下更新語句將將stock表中股票代碼為600000的股票價格更新為100元:
UPDATE stock
SET price = 100
WHERE code = '600000'
更新語句類似于excel的批量替換操作。
插入語句
插入語句用于向數(shù)據(jù)庫中插入數(shù)據(jù)。插入語句的語法如下:
INSERT INTO 表名 (字段名1, 字段名2, ...)
VALUES (值1, 值2, ...)
例如,以下插入語句將向stock表中插入一條新記錄,股票代碼為600001,股票名稱為中國石油,當前價格為50元:
INSERT INTO stock (code, name, price)
VALUES ('600001', '中國石油', 50)
插入語句類似于excel的手動新增內容。
刪除語句
刪除語句用于從數(shù)據(jù)庫中刪除數(shù)據(jù)。刪除語句的語法如下:
DELETE FROM 表名
WHERE 條件
例如,以下刪除語句將從stock表中刪除股票代碼為600001的記錄:
DELETE FROM stock
WHERE code = '600001'
刪除語句類似于excel的篩選刪除行操作。
3.結語
以上就是SQL基礎篇的介紹。通過學習SQL,我們可以掌握在證券行業(yè)中使用數(shù)據(jù)庫的基本技能,當然,要想徹底掌握sql語法,一定需要多學多練,在實際應用中成長。