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